我在 linux 中使用 lseek() 从末尾遍历一个文本文件。如何检查偏移位置是否已到达文件的开头。
PS我不是在寻找使用文件大小手动跟踪偏移量的解决方案。
我猜你使用SEEK_CUR
的是负数offset
。如果你想知道它返回后你在哪里,lseek()
直接使用返回值。
来自man lseek
:
成功完成后,lseek() 返回从文件开头开始以字节为单位测量的结果偏移位置。
不lseek()
返回文件开头的文件偏移量?您可以继续检查返回,一旦返回 0,您就处于文件的开头。请注意 -1 返回值表示错误。
手册页: http: //linux.die.net/man/2/lseek