c语言中stat函数作用

stat 是一个用于获取文件或文件夹状态信息的函数,通常在C编程中使用。它可以用于检查文件的存在性、文件类型、文件大小、修改时间等属性。

函数原型如下:

int stat(const char *path, struct stat *buf);

参数说明:

  path:表示文件或目录的路径名。

  buf:是一个指向 struct stat 结构体的指针,用于存储获取到的文件状态信息。

struct stat 是一个结构体,定义如下:

struct stat {
    dev_t     st_dev;         // 文件所在设备的设备ID
    ino_t     st_ino;         // inode号
    mode_t    st_mode;        // 文件访问权限和文件类型
    nlink_t   st_nlink;       // 硬链接计数
    uid_t     st_uid;         // 文件所有者的用户ID
    gid_t     st_gid;         // 文件所有者的组ID
    dev_t     st_rdev;        // 设备文件的设备ID
    off_t     st_size;        // 文件大小(字节数)
    blksize_t st_blksize;     // 文件系统的块大小
    blkcnt_t  st_blocks;      // 文件占用的块数
    time_t    st_atime;       // 最后访问时间
    time_t    st_mtime;       // 最后修改时间
    time_t    st_ctime;       // 最后状态改变时间
};

调用 stat 函数后,函数会将文件或目录的状态信息填充到 struct stat 结构体中,并返回一个零值表示调用成功,返回-1表示调用失败。

通过 struct stat 结构体中的成员变量,可以获取文件的各种属性,例如文件大小、修改时间等。这些属性可以用于文件操作、文件系统操作、权限控制等方面的判断和操作。

使用 stat 函数获取文件信息的简单代码示例:

#include <stdio.h>
#include <sys/stat.h>

int main() {
    const char* filename = "text.txt";
    struct stat fileStat;
    // 获取文件信息
    if (stat(filename, &fileStat) == 0) {
        printf("File Size: %ld bytes\n", fileStat.st_size);
        printf("Last Modified Time: %s", ctime(&fileStat.st_mtime));
        // 其他属性...

    } else {
        printf("Failed to get file information.\n");
    }

    return 0;
}

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值