lseek和stat函数用法

 

调用原型:
off_t lseek(int fd, off_t offset, int whence)

参数说明:
off_t offset --> 偏移量
int whence --> 偏移位置
               SEEK_SET - 从文件头向后偏移
               SEEK_CUR - 从当前位置向后偏移
               SEEK_END - 从文件尾部向后偏移 

实际用法:
    1)获取长度 size_t size = lseek(fd, 0, SEEK_END);
    2)扩展2000字节文件长度 lseek(fd, 2000, SEEK_END); 
        再加上原有长度,例如14+2000 = 2014
作用:获取文件属性

调用原型
fstat(fd,&mystat);

例如:
    获取长度 mystat.st_size,其余类似
struct stat {
    dev_t         st_dev;       //文件的设备编号
    ino_t         st_ino;       //节点
    mode_t        st_mode;      //文件的类型和存取的权限
    nlink_t       st_nlink;     //连到该文件的硬连接数目,刚建立的文件值为1
    uid_t         st_uid;       //用户ID
    gid_t         st_gid;       //组ID
    dev_t         st_rdev;      //(设备类型)若此文件为设备文件,则为其设备编号
    off_t         st_size;      //文件字节数(文件大小)
    blksize_t     st_blksize;   //块大小(文件系统的I/O 缓冲区大小)
    blkcnt_t      st_blocks;    //块数
    time_t        st_atime;     //最后一次访问时间
    time_t        st_mtime;     //最后一次修改时间
    time_t        st_ctime;     //最后一次改变时间(指属性)
};

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值