文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
9.3.3 文件游标的恢复
在文件被打开时,初始文件游标位于文件头,但在文件的读写过程中,文件游标会自动地向前偏移,若想再次读写文件头部的数据时,就必须让文件游标重新回到文件首位置,即将文件游标恢复到初始位置。
我们可以通过 fseek 函数来完成这一操作,例如:
在 fseek 函数中,将第三个参数设置为 SEEK_SET,即文件首位置,将第二个参数设置为 0,即偏移量为 0。这样调用 fseek 函数后,就可以将文件游标重新设置到文件首位置。由于在第二次调用 fscanf 函数之前,调用了 fseek 函数恢复文件游标至文件首,因此,两次读取到的字符串是相同的。
编译运行程序,结果如下:
The first string read is: Test The string read again is: Test
另外,在 C 语言标准库中,还有一个 rewind 函数,它同样可以实现文件游标的恢复到初始位置的功能。该函数原型如下:
void rewind(FILE *stream);
rewind 函数没有返回值,且只有一个参数,即和文件相关联的文件流。因此,rewind 函数用起来会更加简单方便。可以将上面代码中的 fseek 函数调用语句修改为 rewind 函数调用语句。例如:
再次编译运行该程序,会得到和之前相同的结果。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论