昨天为了让我们read函数能读取到文件数据我们用来一种很土的方法把光标定位到文件的头,也就是把文件重新关闭后再打开。今天我们来谈一下文件光标移动操作时所使用的函数lseek,老样子首先我们先看一下函数的头文件和参数。
从图中我们可以看到lseek的参数的第一个是所要移动光标文件的文件描述符,后面两个参数的意思是将对文件读写指针相对whence移动offset个字节。我们还看到下面还有三个宏分别是SEEK_SET(指向文件头),SEEK_CUR(指向光标当前位置),SEEK_END(指向文件尾部);那就说明我们的whence可以选取这三个位置中的一个,而offset是相对于whence的偏移值,那我们写个程序来使用一下这个函数。
那我们再试试如果用SEEK_CUR光标怎么定位到头
经过实验不难看出 offset为负值时光标向文件头方向移动,那正值自然是往后走啦。
lseek其实没什么可讲的大家敲一下就会啦。