C|C语言文件 理解ASCII码文件和二进制文件

C语言文件

C语言把文件看作是一个字符的序列,即由一个一个字符的数据顺序组成。根据数据的组织的形式,可分为
ASCII文件和二进制文件。

ASCII文件又称文本文件,它的每一个字节放一个ASCII代码,代表一个字符。
二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。

如果有一个整数10000,在内存中占2个字节,如果按ASCII码形式输出,则占5个字节,而按二进制形式输出
在磁盘上只占2个字节。

用ASCII码形式输出与字符一一对应,一个字节代表一个字符因而便于对字符进行逐个处理,也便于输出字符
。但一般占存储空间较多,而且要花费转换时间。
用二进制形式输出数值,可以节省外存空间和转换时间,但一个字节并不对应一个字符,不能直接输出字符
形式。
一般中间结果数据需要暂时保存在外存上,以后又需要输入到内存的,常用二进制文件保存。

ASCII形式
00110001 00110000 00110000 00110000 00110000
内存中的存储形式
00100111 00010000
二进制形式
00100111 00010000

在C语言中对文件的存取是以字节为单位的,输入输出的数据流的开始和结束仅受程序控制而不受物理符号(
如回车换行符)控制。也就是说,在输出是不会自动增加回车换行符以作为记录结束的标志,输入时不以回车
换行符作为记录的间隔。把这种文件称为流式文件。

    推荐阅读