【发布时间】:2013-08-06 16:59:02
【问题描述】:
我在 linux 中使用 lseek() 从头到尾遍历一个文本文件。 如何检查偏移位置是否已到达文件的开头。
PS 不是在寻找使用文件大小手动跟踪偏移量的解决方案。
【问题讨论】:
我在 linux 中使用 lseek() 从头到尾遍历一个文本文件。 如何检查偏移位置是否已到达文件的开头。
PS 不是在寻找使用文件大小手动跟踪偏移量的解决方案。
【问题讨论】:
我猜你正在使用 SEEK_CUR 和否定的 offset。如果你想知道它返回后你在哪里,直接使用lseek()的返回值。
来自man lseek:
成功完成后,lseek() 返回从文件开头算起的偏移位置,以字节为单位。
【讨论】:
lseek() 不是从文件开头返回文件偏移量吗?您可以继续检查返回,一旦返回 0,您就处于文件的开头。请注意 -1 返回值表示错误。
【讨论】: