我注意到有两种方法可以返回文件的开头
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);
这些方法之间有什么区别?
答案 0 :(得分:20)
它们基本上是两种不同的方法来完成同样的事情:将指针设置为文件的开头。唯一的区别是rewind
也会清除错误指示符。
如果给出了选择,则应使用fseek
。这是因为rewind
没有返回一个整数,表明操作是否成功。
答案 1 :(得分:3)
如果fseek()
返回成功,它也会清除文件结束指示符,而rewind()
则不会这样做