fstat 示例
时间: 2023-07-07 20:21:15 浏览: 39
以下是一个使用 fstat 函数获取文件信息的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
int main() {
struct stat fileStat;
if (stat("example.txt", &fileStat) < 0) {
printf("Failed to get file status.\n");
exit(EXIT_FAILURE);
}
printf("File size: %ld bytes\n", fileStat.st_size);
printf("File permissions: ");
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");
return 0;
}
```
上述代码中,我们使用了 `stat` 函数来获取 "example.txt" 文件的信息,然后打印出文件大小和文件权限。在打印文件权限时,我们使用了一些宏定义,如 `S_ISDIR`、`S_IRUSR`、`S_IWUSR` 等,这些宏定义来自于 `sys/stat.h` 头文件。