Linux 新手上路之文件编程lseek函数——by热心市民ly

昨天为了让我们read函数能读取到文件数据我们用来一种很土的方法把光标定位到文件的头,也就是把文件重新关闭后再打开。今天我们来谈一下文件光标移动操作时所使用的函数lseek,老样子首先我们先看一下函数的头文件和参数。

Linux 新手上路之文件编程lseek函数——by热心市民ly_第1张图片

从图中我们可以看到lseek的参数的第一个是所要移动光标文件的文件描述符,后面两个参数的意思是将对文件读写指针相对whence移动offset个字节。我们还看到下面还有三个宏分别是SEEK_SET(指向文件头),SEEK_CUR(指向光标当前位置),SEEK_END(指向文件尾部);那就说明我们的whence可以选取这三个位置中的一个,而offset是相对于whence的偏移值,那我们写个程序来使用一下这个函数。

Linux 新手上路之文件编程lseek函数——by热心市民ly_第2张图片

Linux 新手上路之文件编程lseek函数——by热心市民ly_第3张图片

那我们再试试如果用SEEK_CUR光标怎么定位到头

Linux 新手上路之文件编程lseek函数——by热心市民ly_第4张图片

Linux 新手上路之文件编程lseek函数——by热心市民ly_第5张图片

经过实验不难看出 offset为负值时光标向文件头方向移动,那正值自然是往后走啦。

lseek其实没什么可讲的大家敲一下就会啦。 

你可能感兴趣的:(Linux 新手上路之文件编程lseek函数——by热心市民ly)