【问题标题】:fseek vs rewind?fseek vs倒带?
【发布时间】:2012-12-21 08:51:36
【问题描述】:

我注意到有两种返回文件开头的方法

FILE *fp = fopen("test.bin", "r")
fseek(fp, 0, SEEK_END);
rewind(fp);

FILE *fp = fopen("test.bin", "r")
fseek(fp, 0, SEEK_END);
fseek(fp, 0, SEEK_SET);

如果这些方法之间有什么区别?

【问题讨论】:

    标签: c fopen fseek


    【解决方案1】:

    它们基本上是完成同一件事的两种不同方法:将指针设置为文件的开头。唯一的区别是rewind 也会清除错误指示符。

    如果可以选择,您应该使用fseek。这是因为rewind 没有返回一个表示操作是否成功的整数。

    【讨论】:

      【解决方案2】:

      如果fseek() 返回成功,它也会清除文件结束指示符,而rewind() 不会这样做

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多