详解C中系统调用 link(), lseek() 您所在的位置:网站首页 link函数的应用 详解C中系统调用 link(), lseek()

详解C中系统调用 link(), lseek()

2024-02-24 06:18| 来源: 网络整理| 查看: 265

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 实验室设备网 版权所有