fseek vs倒带?

17 c fopen fseek

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

FILE *fp = fopen("test.bin", "r")
fseek(fp, 0, SEEK_END);
rewind(fp);
Run Code Online (Sandbox Code Playgroud)

FILE *fp = fopen("test.bin", "r")
fseek(fp, 0, SEEK_END);
fseek(fp, 0, SEEK_SET);
Run Code Online (Sandbox Code Playgroud)

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

小智 20

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

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