📅  最后修改于: 2023-12-03 15:29:43.333000             🧑  作者: Mango
在 C 语言中,stat 函数可以用于获取文件的元数据信息,例如文件的大小、创建时间、修改时间等。本篇文章将为大家讲解如何使用 stat 函数,并提供一个示例代码。
int stat(const char *path, struct stat *buf);
struct stat {
dev_t st_dev; /* 文件所在设备的 ID */
ino_t st_ino; /* 文件的 inode 码 */
mode_t st_mode; /* 文件的类型和权限 */
nlink_t st_nlink; /* 文件的硬链接数 */
uid_t st_uid; /* 文件所有者的 user id */
gid_t st_gid; /* 文件所有者的 group id */
dev_t st_rdev; /* 如果是特殊文件,则为设备 ID */
off_t st_size; /* 文件的大小(字节数)*/
time_t st_atime; /* 文件最后访问的时间 */
time_t st_mtime; /* 文件最后修改的时间 */
time_t st_ctime; /* 文件状态最后修改的时间 */
blksize_t st_blksize; /* 文件系统的块大小 */
blkcnt_t st_blocks; /* 为文件分配的块数 */
};
下面是一个使用 stat 函数的示例代码:
#include <stdio.h>
#include <sys/stat.h>
int main() {
char path[] = "test.txt";
struct stat file_stat;
if (stat(path, &file_stat) < 0) {
perror("stat");
return -1;
}
// 输出文件的大小
printf("Size of file %s: %ld bytes\n", path, file_stat.st_size);
// 输出文件的最后修改时间
printf("Last modified time of file %s: %ld\n", path, file_stat.st_mtime);
return 0;
}
上述代码中,我们首先指定要获取信息的文件的路径,并定义了一个结构体变量 file_stat 用于存储文件元数据信息。接下来,我们调用 stat 函数来获取文件信息。如果 stat 调用失败,我们输出错误信息并返回 -1。
如果调用成功,则可以使用结构体变量 file_stat 中的成员来查看文件的信息。例如,上述代码中我们输出了文件的大小和最后修改时间。
本文介绍了使用 C 语言中的 stat 函数,以及示范了如何使用 stat 函数来获取文件的元数据信息。stat 函数是获取文件信息的重要函数,可以帮助开发者更好地管理文件。