一、文件的基本概念
在C语言中,无论输入输出的数据来源和去向是终端设备,还是存储 在外存上的磁盘文件,都被抽象成一个统一的概念,即文件,程序中的数 据输入输出就被转化成对文件的读写操作。因此,C语言中的文件是一个 逻辑概念,它涉及的对象很广,除了前面使用过的源程序文件、头文件等 磁盘文件外,凡是能进行输入输出的终端设备都称作文件。
文件的概念可以按数据格式分类:
文本文件:又称为ASCII文件,是把数据中的每 一位数及符号转换成字符,以ASCII 码形式输出到磁盘上存放。
二进制文件:二进制文件是把数据按其在内存中 的存储形式原样输出到磁盘上存放。
按读写方式:
顺寻文件:要求对文件的读写必须从文件头开 始,即从第一个数据开始,直到读 取的数据是你要处理的数据为止。
随机文件:对文件的读写过程是随机的。利用 系统函数设置文件中的读写位置, 即可对该数据进行读写操作。
按照对文件处理的方法不同,C语言提供了两大类磁盘文件系统: 缓冲文件系统和非缓冲文件系统。
缓冲文件系统:指系统自动为每一个需要处理的 文件在内存中开辟一个磁盘缓冲 区,对输入输出数据进行缓冲。 因此缓冲文件系统由系统代替程 序设计员完成了很多功能,使用 起来比较方便。
非缓冲文件:指系统不会自动地为每一个需要处 理的文件在内存中开辟一个磁盘缓 冲区,必须由程序员为每个文件设 定缓冲区。因此需要程序设计员熟 悉操作系统,并且对文件的操作也 相对比较复杂。