在C语言中,fseek()比rewind()更可取。
请注意以下文本C99标准:
快退函数将流指向的流的文件位置指示符设置到文件的开头。相当于
(void)fseek(stream, 0L, SEEK_SET)
除了也清除了流的错误指示符。
下面的代码示例使用rewind()将输入流的文件位置指示符设置回开头。但是无法检查rewind()是否成功。
int main()
{
FILE *fp = fopen("test.txt", "r");
if ( fp == NULL ) {
/* Handle open error */
}
/* Do some processing with file*/
rewind(fp); /* no way to check if rewind is successful */
/* Do some more precessing with file */
return 0;
}
在上面的代码中,可以使用fseek()代替rewind()来查看操作是否成功。可以使用以下代码行代替rewind(fp);
if ( fseek(fp, 0L, SEEK_SET) != 0 ) {
/* Handle repositioning error */
}
相关用法
注:本文由纯净天空筛选整理自 fseek() vs rewind() in C。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。