详解C中系统调用 link(), lseek() | 您所在的位置:网站首页 › link函数的应用 › 详解C中系统调用 link(), lseek() |
C语言lseek()函数:移动文件的读写位置 || 头文件与函数定义 #include #include off_t lseek( int fildes, off_t offset, int whence);|| 函数说明: 每一个已打开的文件都有一个读写位置, 当打开文件时通常其读写位置是指向文件开头, 若是以附加的方式打开文件(如O_APPEND), 则读写位置会指向文件尾. 当read()或write()时, 读写位置会随之增加 lseek()便是用来控制该文件的读写位置. 参数fildes 为已打开的文件描述词, 参数offset 为根据参数whence所表示位置来移动读写位置的位移数. || 返回值: 成功:当调用成功时则返回目前的读写位置, 即较起始位置偏移量. 失败:返回-1, errno 会存放错误代码.|| 参数 whence说明 参数 说明 SEEK_SET 参数offset 即为新的读写位置. SEEK_CUR 以目前的读写位置往后增加offset 个位移量. SEEK_END 将读写位置指向文件尾后再增加offset 个位移量. 当whence 值为SEEK_CUR 或 SEEK_END 时, 参数offet 允许负值的出现.|| 应用场景: 文件的“读”,“写”使用同一偏移位置 使用lseek获取文件大小 使用lseek拓展文件的大小:要想使文件大小真正的拓展,必须要进行IO操作 可以使用truncate直接进行文件的拓展 |
CopyRight 2018-2019 实验室设备网 版权所有 |