如何查看stat结构体
时间: 2023-12-06 11:45:12 浏览: 69
要查看stat结构体,可以使用如下代码:
```c
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
int main() {
struct stat fileStat;
if(stat("filename", &fileStat) == -1) {
perror("Error");
return -1;
}
printf("File Permissions: \t");
printf((S_ISDIR(fileStat.st_mode)) ? "d" : "-");
printf((fileStat.st_mode & S_IRUSR) ? "r" : "-");
printf((fileStat.st_mode & S_IWUSR) ? "w" : "-");
printf((fileStat.st_mode & S_IXUSR) ? "x" : "-");
printf((fileStat.st_mode & S_IRGRP) ? "r" : "-");
printf((fileStat.st_mode & S_IWGRP) ? "w" : "-");
printf((fileStat.st_mode & S_IXGRP) ? "x" : "-");
printf((fileStat.st_mode & S_IROTH) ? "r" : "-");
printf((fileStat.st_mode & S_IWOTH) ? "w" : "-");
printf((fileStat.st_mode & S_IXOTH) ? "x" : "-");
printf("\n");
printf("File Size: \t\t%lld bytes\n", fileStat.st_size);
printf("Number of Links: \t%u\n", fileStat.st_nlink);
printf("File inode: \t\t%llu\n", fileStat.st_ino);
return 0;
}
```
这段代码首先使用`stat()`函数获取指定文件的信息,并将其存储在`fileStat`结构体中。然后,通过访问结构体中的成员变量,可以打印文件的权限、大小、硬链接数和inode号等信息。
需要注意的是,`stat()`函数中的第一个参数是要获取信息的文件名,需要根据具体需求进行修改。
阅读全文