【问题标题】:How can I check the current offset position in a file using lseek?如何使用 lseek 检查文件中的当前偏移位置?
【发布时间】:2013-08-06 16:59:02
【问题描述】:

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

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

【问题讨论】:

    标签: c linux file file-io


    【解决方案1】:

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

    来自man lseek

    成功完成后,lseek() 返回从文件开头算起的偏移位置,以字节为单位。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2020-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多