库函数对文件的操作
文件分类:
通过流进行输入输出:文本文件(存放ASCII码) 和 二进制文件(二进制编码方式)
从用户角度: 普通文件 和 设备文件
文件内容: 源文件,目标文件,可执行文件,头文件,数据文件等
基本操作
文件指针:一个指向文件有关信息的指针,这些信息包括文件名,状态和当前位置,他们保存在一个结构体变量中。该类型为FILE 型。编写程序时可直接使用。
如: FILE *fp; 即fp是指向FILE类型的指针变量。
各种函数的使用
打开文件: fopen
函数原型 FILE * fopen(const char *path,cost char *mode)
作用:打开一个文件,返回指向该文件的指针
参数说明:第一个参数为欲打开文件的文件路径及文件名,第二个参数表示对文件的打开方式
注:mode有以下值:
r: 只读 ,文件必须存在
r+: 可读写,必须存在
rb+: 打开二进制文件,可以读写
rt+: 打开文本文件,可读写
w: 只写,文件存在则文件长度清0,文件不存在则建立该文件
w+: 可读写,文件存在则文件长度清0,文件不存在则建立该文件
a: (追加)附加方式打开只写,不存在建立该文件,存在写入的数据加到文件尾, EOF符保留
a+: 附加方式打开可读写,不存在建立该文件,存在写入的数据加到文件尾,EOF符不 保留
wb: 打开二进制文件,只写
wb+: 打开或建立二进制文件,可读写
wt+: 打开或建立文本文件,可读写
at+: 打开文本文件,可读写,写的数据加在文本末尾
ab+: 打开二进制文件,可读写,写的数据加在文件末尾
由mode字符可知,上述如r、w、a在其后都可以加一个b,表示以二进制形式打开文件
返回值:文件打开了,返回一个指向该打开文件的指针(FILE结构);文件打开失败,错误上存error code(错误代码)
注意:在fopen操作后要进行判断,是否文件打开,文件真正打开了才能进行后面的读或写操作,如有错误要进行错误处理
例:FILE *pfile=fopen(const char *filename,"rb");
文件的关闭:
fclose(文件指针)
功能:关闭一个文件流,使用fclose就可以把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区
成功返回值为0;否则返回EOF
程序结束之前应关闭所有文件,防止因为没有关闭文件儿造成数据流失。
文件读写:
fputc ch=fputc(ch, fp);
作用:把一个字符写到磁盘文件(fp所指向的文件)中去,ch是要输出的字符,他可以是一个字符常量,也可以是一个字符变量。Fp是文件指针变量。
成功返回的就是输出的字符;失败返回EOF。
Fgetc 函数 ch=fgetc(fp);
作用:从指定的文件(fp所指向的文件)读入一个字符赋给ch,《注意文件必须读或读写的方式打开,当遇到文件结束符返回一个文件结束标志EOF》
fputS函数: fputs(字符串,文件指针); fputs(str , fp);
功能: 指定的文件写入字符串,其中字符串可以是字符串常量,也可以是字符数组名,指 针或变量。
fgets函数: fgets(字符数组名,n,文件指针); fegets(str,sizeof(str),文件指针);
功能: 从指定的文件中读出一个字符串到字符数组中。n表示所得到字符串中字符的个数(包含“