C/C++ stat() 函数:获取文件信息详解
stat() 是一个 C/C++ 函数,用于获取一个文件的信息,例如文件大小、创建时间、修改时间等。它返回一个包含文件信息的结构体。
使用方法:
#include <sys/stat.h>
#include <unistd.h>
int main() {
struct stat file_info;
if (stat("filename.txt", &file_info) == 0) {
// 文件信息已获取成功
printf("文件大小:%lld 字节\n", file_info.st_size);
printf("创建时间:%s\n", ctime(&file_info.st_ctime));
// 其他信息...
} else {
// 文件信息获取失败
perror("stat");
}
return 0;
}
参数:
- filename.txt: 要获取信息的 文件名 或 文件路径。
- file_info: 用于存储文件信息的 struct stat 结构体。
返回值:
- 0: 成功获取文件信息。
- -1: 获取文件信息失败。
结构体成员:
struct stat 结构体包含许多成员,用于表示文件信息,例如:
- st_size: 文件大小(字节)。
- st_ctime: 创建时间。
- st_mtime: 修改时间。
- st_atime: 最后访问时间。
- st_mode: 文件类型和权限。
- st_uid: 文件所有者的用户 ID。
- st_gid: 文件所有者组的组 ID。
示例代码:
以上代码示例展示了如何使用 stat() 函数获取文件的大小和创建时间。您可以根据需要使用其他成员来获取更多信息。
注意:
- stat() 函数需要包含 <sys/stat.h> 头文件。
- 在 Windows 平台上,您可以使用 _stat() 函数。
- stat() 函数只能获取已存在文件的属性,无法获取不存在的文件的属性。
总结:
stat() 函数是一个强大的工具,可以帮助您在 C/C++ 中获取文件信息,从而实现更灵活的文件操作。
原文地址: https://www.cveoy.top/t/topic/nlJu 著作权归作者所有。请勿转载和采集!