欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

lseek和stat函数用法

程序员文章站 2022-06-22 07:53:15
调用原型: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(......

 

调用原型:
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;     //最后一次改变时间(指属性)
};

 

本文地址:https://blog.csdn.net/u012293305/article/details/108177404

相关标签: linux基础