Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我注意到有两种方法可以返回文件的开头
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也清除了错误指示器。
rewind
如果可以选择,您应该使用fseek. 这是因为rewind不返回指示操作是否成功的整数。
fseek
如果fseek()返回成功,它也会清除文件结束指示符,rewind()而不会这样做
fseek()
rewind()