在c程序中,文件一般分为程序文件和数据文件。程序文件包括源程序文件(.c)、目标文件(.obj)、可执行文件(.exe)等。数据文件一般作为程序的输入输出,所以任何设备都可看作数据文件,如终端键盘是输入文件,显示屏看作输出文件。c程序会统一把输入输出的各种文件和设备看作逻辑数据流,该数据流是由一个一个字符(或字节)组成。
文件是存储在外部介质如磁盘上数据的集合,操作系统就是以文件为单位对数据进行管理的。
c的数据文件不考虑行的界限,两行数据间不会自动加分隔符,对文件的存取是以字符(字节)为单位的。数据流的开始和结束仅受程序控制,不受如回车换行符的物理符号控制。这种文件成为流式文件。
C语言处理的数据文件可分为ACSCII文件(文本文件,每个字节放有ASCII字符)和二进制文件。
文件缓冲区:ANSI C标准采用”缓冲文件系统“处理数据文件,所谓缓冲文件系统是指系统自动地在内存区为程序中每一个正在使用的文件开辟一个文件缓冲区,其缓冲区的大小是由各个具体的c编译系统确定。而在UNIX系统下,用缓冲文件系统来处理文本文件,用非缓冲文件系统处理二进制文件。非缓冲文件系统是指系统不自动开辟确定大小的缓冲区,而由程序为每一个文件设定缓冲区。
用FILE去定义文件变量或用FILE * 定义一个文件指针变量,原因是在