返回介绍

9.3.3 文件游标的恢复

发布于 2025-04-11 22:33:05 字数 905 浏览 0 评论 0 收藏 0

在文件被打开时,初始文件游标位于文件头,但在文件的读写过程中,文件游标会自动地向前偏移,若想再次读写文件头部的数据时,就必须让文件游标重新回到文件首位置,即将文件游标恢复到初始位置。

我们可以通过 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。