C 语言编程 — stat 文件操作

Posted 范桂飓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 语言编程 — stat 文件操作相关的知识,希望对你有一定的参考价值。

目录

文章目录

stat

sys/stat.h 提供了对系统文件和目录进行操作的接口。

结构体

  • struct stat :描述文件和目录的元数据信息,包括文件类型、文件大小、权限、时间戳等。
  • struct timespec :描述时间戳,包括秒数和纳秒数。

函数接口

  1. 获取指定路径的文件或目录的元数据信息,并将结果存储到 buf 中。
int stat(const char *path, struct stat *buf) 
  1. 获取文件描述符 fd 所关联的文件的元数据信息,并将结果存储到 buf 中。
int fstat(int fd, struct stat *buf) 
  1. 获取符号链接文件的元数据信息,并将结果存储到 buf 中。如果 path 是一个符号链接,那么获取的是符号链接指向的文件的元数据信息,而不是符号链接本身的元数据信息。
int lstat(const char *path, struct stat *buf) 
  1. 修改指定路径的文件或目录的权限。
int chmod(const char *path, mode_t mode) 
  1. 创建指定路径的目录,并设置权限为 mode。
int mkdir(const char *pathname, mode_t mode) 
  1. 创建指定路径的文件,文件类型和权限由 mode 指定,设备号由 dev 指定。
int mknod(const char *pathname, mode_t mode, dev_t dev) 

常量:表示文件类型和权限。

  • S_IFMT :用于屏蔽文件类型的位掩码;
  • S_IFSOCK :套接字文件类型;
  • S_IFLNK :符号链接文件类型;
  • S_IFREG :普通文件类型;
  • S_IFBLK :块设备文件类型;
  • S_IFDIR :目录文件类型;
  • S_IFCHR :字符设备文件类型;
  • S_IFIFO :管道文件类型;
  • S_IRUSR :用户可读权限;
  • S_IWUSR :用户可写权限;
  • S_IXUSR :用户可执行权限;
  • S_IRGRP :组可读权限;
  • S_IWGRP :组可写权限;
  • S_IXGRP :组可执行权限;
  • S_IROTH :其他人可读权限;
  • S_IWOTH :其他人可写权限;
  • S_IXOTH :其他人可执行权限;

以上是关于C 语言编程 — stat 文件操作的主要内容,如果未能解决你的问题,请参考以下文章

如何用C语言实现在linux下开发软件 请大虾帮忙解决

C语言文件IO操作的一些其它函数

C 语言文件操作 ( 使用 fread 和 fwrite 实现二进制文件的拷贝 | stat 统计文件大小 | feof 判定文件结尾 )

C语言 stat()函数获得文件大小需不需要打开文件?就是stat()函数是怎么获得文件的大小的?

c语言的程序是怎样在屏幕上输出的?

c语言高手们请问一下-stat这个怎么用行么?