六、Linux文件 - lseek函数

目录

1.lseek函数

2.lseek函数实战 

2.1宏SEEK_CUR的用法

2.2宏SEEK_END的用法

3.Open函数实战 - O_APPEND的用法

4.Linux在库函数中寻找相应的宏定义


1.lseek函数

off_t lseek(int fd,off_t offset,int whence);光标的偏移量
  • fd:文件描述符
  • offset:偏移量
  • whence:
    • SEEK_SET:参数offset即为新的读写位置
    • SEEK_CUR:以目前的读写位置往后增加offset个偏移量
    • SEEK_END:将读写位置指向文件尾后再增加offset个位移量,当whence值为SEEK_CUR或SEEK_END时,参数offset允许负值的出现。
  • 返回值:文件读写距离文件开头的字节大小,出错返回-1

2.lseek函数实战

2.1宏SEEK_CUR的用法

  1. 终端输入 man 2 lseek,打开函数的描述,复制所需要的头文件和函数原型。
  2. vi damo.c 进入文件,写入程序
  3. gcc demo1.c -n demo 编译代码。删除旧的file,执行可执行文件file.
  4. cat file 发现file中什么内容也没有
  5. 终端输入vim file ,打开file,在file中写入hello world。
  6. ./demo ,重新运行程序,发现打印file文件从1偏移向后至6偏移处的内容。

2.2宏SEEK_END的用法

  1.   vi demo1.c 进入编写程序。
  2. 发现代码编译后运行,发现每运行一次代码,file文件里的内容都会在旧的内容后面追加一次。   cat file ,查看file文件里面的内容。

3.Open函数实战 - O_APPEND的用法

  1. O_APPEND 表示追加,如果原来文件里面有内容,则这次写入会写在文件的最末尾。使用时,光标默认指向目标文件的末尾。
  2. 代码编译后运行,发现每运行一次代码,file文件里的内容都会在旧的内容后面追加一次。   cat file ,查看file文件里面的内容。

4.Linux在库函数中寻找相应的宏定义

  1. 终端输入 cd /usr/include/,进入include 目录
  2. 输入 grep -nr "SEEK_CUR" ./
  3. vim unistd.h 进入宏所在的文件

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值