4

我在 linux 中使用 lseek() 从末尾遍历一个文本文件。如何检查偏移位置是否已到达文件的开头。

PS我不是在寻找使用文件大小手动跟踪偏移量的解决方案。

4

2 回答 2

2

我猜你使用SEEK_CUR的是负数offset。如果你想知道它返回后你在哪里,lseek()直接使用返回值。

来自man lseek

成功完成后,lseek() 返回从文件开头开始以字节为单位测量的结果偏移位置。

于 2013-08-05T20:53:23.013 回答
1

lseek()返回文件开头的文件偏移量?您可以继续检查返回,一旦返回 0,您就处于文件的开头。请注意 -1 返回值表示错误。

手册页: http: //linux.die.net/man/2/lseek

于 2013-08-05T20:50:05.857 回答