Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 快退还是快退?_C_Fopen_Fseek - Fatal编程技术网

C 快退还是快退?

C 快退还是快退?,c,fopen,fseek,C,Fopen,Fseek,我注意到返回文件开头的两种方法 FILE *fp = fopen("test.bin", "r") fseek(fp, 0, SEEK_END); rewind(fp); 及 如果这些方法之间有什么区别呢?它们基本上是两种不同的方法来完成相同的事情:将指针设置到文件的开头。唯一的区别是倒带也会清除错误指示器 如果有选择权,您应该使用fseek。这是因为rewind不返回指示操作是否成功的整数。如果fseek()返回成功,它还将清除文件结束指示器,而rewind()不返回 FILE *fp =

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

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


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

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

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

如果
fseek()
返回成功,它还将清除文件结束指示器,而
rewind()
不返回

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