一般来说,人类可读的文件都作为文本文件,例如一片文章。其余都作为二进制文件,例如一个程序。
在C语言中,文件的 *** 作是通过FILE结构体进行了,利用fopen返回一个指向FILE结构体的指针,在使用fopen函数过程中,使用mode控制符对是否打开哪类文件进行控制:
FILE *fopen( const char *filename, const char *mode )
filename:文件名,mode:打开的模式,规定了是可读、可写、追加之类的属性。
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
如果调用失败,返回一个空指针。
从文件编码的方式来看,文件可分为ASCII码文件和二进制文件两种。\x0d\x0a\x0d\x0a 文件是指记录在介质(磁盘、磁带、光盘、u盘等)上的相关数据的集合。每个数据都有一个名称,称为文件名,它是访问文件的标识,\x0d\x0aASCII码文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码值。ASCII码文件可在屏幕上按字符显示的,例如源程序文件就是ASCII码文件,由于按字符显示,可以识别。\x0d\x0a 二进制文件是按二进制的编码方式来存放文件的,二进制文件虽然也可以在屏幕上显示,但其内容显示为乱码。\x0d\x0a C语言在处理这些文件时,并不区分类型,都视为字符流,按字节处理。文件指计算机的输入输出;内,外
是以
CPU
为主而说。
例如
计算结果送往打印机,
站在打印机立场,计算结果从计算机输入到打印机。站在CPU
立场,计算结果从计算机输出到打印机。
为避免混淆,计算机的输入输出,内外以
CPU
为主。站在
CPU
立场判断。
外部介质,指计算机的外部设备,硬盘,光盘,磁带。内部介质指运算器寄存器。
数据的集合,指一堆数据。数字计算机里,全是数字,不是1就是0。C源程序当然也可以作为数据文件,字符(
ASCII值)也是数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)