首页 > 其他分享 >学习笔记4 截图+代码

学习笔记4 截图+代码

时间:2023-09-30 23:22:57浏览次数:39  
标签:截图 代码 fileStat stat 笔记 st ld printf include

学习笔记4

一、苏格拉底挑战











二、学习时遇见的问题利用gpt解决



三、实践stat 和opendir-readdir



四、实践代码

使用stat结构体:

    #include <stdio.h>
    #include <sys/stat.h>

    int main() {
        struct stat fileStat;

        // 获取文件属性
        if (stat("myfile.txt", &fileStat) == 0) {
            printf("File Size: %ld bytes\n", fileStat.st_size);
            printf("Number of Links: %ld\n", fileStat.st_nlink);
            printf("File Inode: %ld\n", fileStat.st_ino);
            printf("Owner UID: %d\n", fileStat.st_uid);
            printf("Owner GID: %d\n", fileStat.st_gid);
            printf("File Type and Mode: %o\n", fileStat.st_mode);
            printf("Last Access Time: %ld\n", fileStat.st_atime);
            printf("Last Modification Time: %ld\n", fileStat.st_mtime);
            printf("Last Status Change Time: %ld\n", fileStat.st_ctime);
        } else {
            perror("stat");
        }

        return 0;
    }

获取文件索引节点:

#include <stdio.h>
#include <sys/stat.h>

int main() {
    struct stat fileStat;

    // 获取文件属性
    if (stat("myfile.txt", &fileStat) == 0) {
        printf("File Inode: %ld\n", fileStat.st_ino);
    } else {
        perror("stat");
    }

    return 0;
}

Opendir:

#include <stdio.h>
#include <dirent.h>

int main() {
    DIR *dir;
    struct dirent *entry;

    dir = opendir("/home/yuanyi/study");
    if (dir == NULL) {
        perror("opendir");
        return 1;
    }

    while ((entry = readdir(dir))) {
        printf("%s\n", entry->d_name);
    }

    closedir(dir);
    return 0;
}

readlink示例:

#include <stdio.h>
#include <unistd.h>

int main() {
    char linkname[1024];
    ssize_t len;

    // 读取符号链接的目标路径
    len = readlink("mysymlink", linkname, sizeof(linkname) - 1);
    if (len != -1) {
        linkname[len] = '\0';  // 添加字符串终止符
        printf("Symbolic Link Target: %s\n", linkname);
    } else {
        perror("readlink");
        return 1;
    }

    return 0;
}

标签:截图,代码,fileStat,stat,笔记,st,ld,printf,include
From: https://www.cnblogs.com/yuanyi23/p/17738391.html

相关文章

  • 《信息安全系统设计与实现》第四周学习笔记
    《信息安全系统设计与实现》第四周学习笔记第七章:文件操作文件操作级别硬件级别fdisk:将硬盘、U盘或SDC盘分区mkfs:格式化磁盘分区,为系统做好准备fsck:检查和维修系统碎片整理:压缩文件系统中的文件操作系统内核中的文件系统函数每个操作系统内核均可为基本文件操作提供......
  • 读书笔记-9月
    读了程序员修炼手册的第一章,学到了一些东西。看视频教程的时候要跟着做,一行一行的跟着敲,一个项目敲完了,再试着加一些自己的功能,按照自己的思路敲一些代码,收获远比干听大的多。量变会引起质变的。学习的时候要先建立知识点的体系,体系学完了再慢慢抠细节,这样才有足够的学习效率。......
  • 《架构师之路:软件架构之美》第三章读书笔记
    第三章的主题是"ArchitecturePrinciples"(架构原则),该章介绍了软件架构设计中的一些重要原则和指导方针。以下是该章的一些主要观点和内容:架构原则的重要性:该章解释了架构原则在软件开发中的关键作用。架构原则是一组基本规则和准则,用于指导软件系统的整体设计和组织。常见......
  • 代码链接与实践截图
    include<fcntl.h>include<unistd.h>intmain(){intfile_desc=open("test.txt",O_RDONLY);if(file_desc<0){//错误处理}//进行其他操作...close(file_desc);return0;}include<fcntl.h>include<unistd.h>intmain(){c......
  • SpringBoot框架大晚上报错404--我的路径问题(附上SpringBoot MVC管理系统的简单具体代
    代码application.ymlspring:web:resources:static-locations:classpath:/static/,classpath:/templates/datasource:type:com.alibaba.druid.pool.DruidDataSourceurl:jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf......
  • 9月阅读笔记1
    这本书强调了编程不仅仅是写出可以工作的代码,而是一门艺术和科学的结合。以下是一些我从书中学到的原则导向的编程观点:持续学习:编程是不断演进的领域,要不断学习新技术和方法,以保持竞争力。做好基础工作:仔细设计、文档化和测试代码是成功的关键。不要急于编写代码,要先规划和......
  • 9月阅读笔记2
    本书提供了关于软件开发哲学的深刻洞察。以下是一些我认为特别重要的思想:机械式编码不足够:简单地编写代码是不够的,需要思考和规划。解决问题的过程涉及到设计、抽象、模块化和理解问题的本质。了解领域:了解解决问题的领域非常重要。软件开发者应该主动与领域专家合作,以便更......
  • 9月读书笔记2
    正交性,设计自足的软件,让软件的各个部分不会过度互相依赖,提高生产效率并且降低风险。曳光代码,在不完全了解用户需求的情况下,我们可以向初始框架中添加曳光代码,虽然并不能百分百命中,但其代码得以保存复用,这样的代码往往简约但复用率高。构建原型,这与本学期所学的uml建模类似,用非代码......
  • 计组学习笔记1.2——计算机的基本组成
    计算机的基本组成一、冯•诺依曼计算机的特点1.计算机由五大部件组成存储器、运算器、控制器输入设备:将信息输入计算机的外部设备,它将人们熟悉的信息形式转换成计算机能接受并识别的信息形式。常用的输入设备有键盘、鼠标、扫描仪和模/数(A/D)转换器等。输出设备:将计算机运算结......
  • 2023-2024-1 20211327 信息安全系统设计与实现 学习笔记4(必做)
    学习笔记4文件操作使用系统调用进行文件操作实践过程文件操作1.文件操作级别(1)硬件级别:fdisk:将硬盘、U盘或SDC盘分区mkfs:格式化磁盘分区,为系统做好准备fsck:检查和维修系统碎片整理:压缩文件系统中的文件(2)操作系统内核中的文件系统函数:前缀k表示内核函数(3)系......