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++ 中获取文件信息,从而实现更灵活的文件操作。

C/C++ stat() 函数:获取文件信息详解

原文地址: https://www.cveoy.top/t/topic/nlJu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录