首页 理论教育C语言程序设计实用教程:文件概述与随机存取

C语言程序设计实用教程:文件概述与随机存取

【摘要】:C 程序中的输入和输出文件都是以数据流的形式存储在介质上的。随机存取文件又称直接存取文件。

文件是程序设计中的一个重要的概念,是一组存储在外部存储介质上的数据的集合。在C语言程序设计中,按文件的内容可以将其分为两类:程序文件和数据文件。存储程序代码的文件称为程序文件,存储数据的文件称为数据文件。C 程序中的输入和输出文件都是以数据流的形式存储在介质上的。按数据在介质上的存储方法可分为文本文件和二进制文件。这两种文件都可以用顺序方式和随机方式存取。

1.文件的读和写

在程序中,当调用输入函数从外部文件中输入数据赋值给程序中的变量时,这种操作称为“输入”或者“读”;当调用输出函数把程序中变量的值输出到外部文件中时,这种操作称为“输出”或者“写”。

2.流式文件

“流”可以理解为流动的数据及其来源和去向,并将文件看成承载数据流动所产生的结果的媒介。而对文件的读和写就看成是在“文件流”中取出或存入数据。在C 语言中,对于输入和输出的数据都是按“数据流”的形式进行处理,即输出时系统不添加任何信息,输入时逐一读入数据,直到遇见EOF 或文件结束标记。C 程序中的输入/输出文件都是以数据流的形式存储在介质上的。

3.文本文件和二进制文件(www.chuimin.cn)

文本文件又称ASCII 文件,是一种字符流文件。文本文件的输出与字符一一对应,每个字节存放一个ASCII 码,便于对字符逐个处理或是输出显示。文本文件的优点是可以用各种文本编辑器直接阅读,但文本文件占用存储空间较多,计算机进行数据处理时需要转换为二进制形式,故程序效率较低。

二进制文件是把数据按其在内存中存储的二进制形式原样存储在磁盘文件中,是一种二进制流文件。二进制文件占用存储空间少,数据可不必转换直接在程序中使用,程序执行效率高,但二进制文件不可直接阅读、打印。

4.顺序存取文件和随机存取文件

顺序存取文件是指每次打开文件进行读写操作时,总是从文件的开头开始,从头到尾顺序读写。

随机存取文件又称直接存取文件。其特点是,可以通过调用C 语言的库函数指定开始读写的字节号,然后直接对此位置上的数据进行读写。