fseek vs倒带?

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

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); 

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

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

如果有选择,你应该使用fseek 。 这是因为rewind不返回指示操作是否成功的整数。

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