9.5 本章小结
文件的实质就是存储在外部存储介质上的一段连续的二进制数据。从可阅读的角度来看,可以将文件分为文本文件和二进制文件两大类。
C 语言程序对文件的处理是采用文件流的形式,当读取文件时,数据就会像流水一样从文件端流向程序端,而写入文件时,数据就会像流水一样从程序端流向文件端。将从文件端向程序端的文件流称为输入流,而将从程序端向文件端的文件流称为输出流。只要打开一个文件,就会得到一个文件流,有了文件流之后,就可以对文件进行相应的读写操作。
fopen 函数用于打开一个文件,而 fclose 函数用于关闭一个文件。
C 语言程序中,还有 3 个特殊的文件流,即标准输入流(stdin)、标准输出流(stdout)和标准错误输出流(stderr)。用户不需要考虑这 3 个文件流的启用与关闭,它们是由系统管理的。
可以使用 freopen 函数,采用文件流重定向的方式来改变文件流所关联的文件。
C 标准库中,提供了许多的文件读写函数,可以用不同的方式对文件进行读写操作。例如 fputc 函数和 fgetc 函数是以字符的方式对文件进行读写,fputs 函数和 fgets 函数是以行的方式对文件进行读写,fscanf 函数和 fprintf 函数是以格式化的方式对文件进行读写,fwrite 函数和 fread 函数是以块的方式对文件进行读写。
在打开一个文件后,就会得到一个文件游标,而对文件的读写操作,都会从文件游标所对应的文件位置开始,即文件游标用作于标记文件的当前读写位置。
使用 fseek 函数可以对文件游标进行设置,使用 ftell 函数可以获取当前文件游标的位置,使用 rewind 函数可以恢复文件游标的初始位置。而 fsetpos 函数和 fgetpos 函数则用来对大文件的文件游标进行设置和获取。
feof 函数用于检查文件游标是否到达文件尾,ferror 函数用于检查读写文件是否出错,perror 函数用于打印输出错误信息,setvbuf 函数用于替换默认的文件流缓冲区。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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