持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第7天,点击查看活动详情
文件有不同的类型,在程序设计中,主要用到两种文件:
(1)程序文件。即包括程序文件、目标文件、可执行文件等。这种文件的内容是程序代码。
(2)数据文件。文件的内容不是程序,而是提供程序运行时读写的数据,如在程序运行过程中输出到磁盘或其他外部设备的数据,或在程序运行过程中供读入的数据。如一批学生的成绩数据、货物交易的数据等。
我们主要介绍一下数据文件,我们常常需要将一些数据输出到磁盘上保存起来,以后需要时再从磁盘中输入到计算机内存。这就要用到磁盘文件。
为了简化用户对输入输出设备的操作,使用户不必区分各种输入输出设备之间的区别,操作系统把各种设备都统一作为文件来处理。从操作系统的角度看,每一个与主机相连的输入输出设备都看作是一个文件。例如,终端键盘是输入文件,显示屏和打印机是输出文件。
文件是程序设计中一个重要的概念。所谓“文件”一般指存储在外部介质上数据的集合。一批数据是以文件的形式存放在外部介质(如磁盘)上的。操作系统是以文件为单位对数据进行管理的,也就是说,如果想找到存放在外部介质上的数据,必须先按文件名找到所指定的文件,然后再从改文件中读取数据。要向外部介质上存储数据也必须建立一个文件(以文件名为标志),才能向它输出数据。
输入输出是数据传送的过程,数据如流水一样从一处流向另一处,因此常将输入输出形象地成为流,即数据流。流表示了信息从源到目的端的流动。在输入操作时,数据从文件流向计算机内存,在输出操作时,数据从计算机流到文件(如打印机、磁盘文件等)。文件是由操作系统进行统一管理的,无论使用Word打开或保存文件,还是C程序中的输入输出都是通过操作系统进行的。“流”是一个传输通道,数据可以从运行环境,即有关设备流入程序中,或从程序流至运行环境。
C语言把文件看作一个字符或字节的序列,即由一个一个字符(或音节)的数据顺序组成。一个输入输出流就是一个字符流或字节流。
C的数据文件由一连串的字符或字节组成,而不考虑行的界限,两行数据间加分隔符,对文件的存取是以字符或字节为单位的。输入输出数据流的开始和结束仅受程序控制我而不受物理符号(如回车换行符)控制,这就增加了处理的灵活性。这种文件称为流式文件。