4.2 fstat函数-读取文件属性

fstat函数用于获取文件的属性信息(例如文件类型、访问权限和访问时间等)。函数原型如下:

#include <sys/stat.h>
int fstat(int filedes, struct stat *restrict buf);

其中 struct stat结构定义在文件 <sys/stat.h>中。(参考 4.2 stat函数)

返回值:成功返回0,出错返回-1。

参数:

1、filedes已打开的文件描述符。

2、buf存储struct stat结构信息的缓冲区。

fstat与stat只是第一个参数有差异,其他作用和用法都一样。

实例 x.4.2.2.c

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

int main(void)
{
    char            pathname[] = "/tmp/myfile";  /*文件路径*/
    int             f_id;                        /*文件描述符*/
    struct stat     buf;                         /*属性信息*/

/*打开文件,获取文件描述符*/
    if ((f_id = open(pathname, O_RDONLY | O_CREAT)) == -1) {
        printf("open error for %s\n", pathname);
    }

/*取文件属性信息*/
    if (fstat(f_id, &buf) == -1) {            /*调用stat将文件属性信息放入buf*/
        printf("fstat error for %s\n",pathname);
        exit(1);
    } else {
        printf("fstat OK for %s\n",pathname);
        exit(0);
    }
    exit(0);
}

编译与执行:

[root@localhost unixc]# echo 'This is my tempfile!' > /tmp/myfile
[root@localhost unixc]# cc x.4.2.2.c
[root@localhost unixc]# ./a.out
fstat OK for /tmp/myfile
[root@localhost unixc]#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值