C语言文件操作函数
函数介绍
文件打开与关闭操作
fopen():文件打开操作
以“r+”的方式打开一个文件,会清空文件的原始内容,重新写入数据
返回值:正常返回:FILE *一个指向文件在内存中的文件信息去的开头
异常返回:NULL,表示打开操作不成功
打开文件的作用是:
(1)分配给打开文件一个FILE 类型的文件结构体变量,并将有关信息填入文件结构体变量;
(2)开辟一个缓冲区;
(3)调用操作系统提供的打开文件或建立新文件功能,打开或建立指定文件;
FILE *:指出fopen是一个返回文件类型的指针函数;
返回值
正常返回:被打开文件的文件指针。
异常返回:NULL,表示打开操作不成功。
要说明的是:C语言将计算机的输入输出设备都看作是文件。例如,键盘文件、屏幕文件等。ANSI C标准规定,在执行程序时系统先自动打开键盘、屏幕、错误三个文件。这三个文件的文件指针分别是:标准输入stdin、标准输出stdout和标准出错 stderr。
fclose():文件关闭
函数定义:int fclose(FILE *fp);
函数说明:fp是一个以打开的文件的文件指针
返回值:
正常返回:0
异常返回:EOF,表示文件在关闭时发生错误
fgetc:读取一个字符
函数定义:int fgetc(FILE *fp)
函数说明:从fp中读取一个字符,作为返回值返回
返回值:
正常返回:返回读取字符的代码
异常返回:返回EOF。例如:要从“写打开”的文件中读取一个字符时,会发生错误而返回一个EOF
【例8.1】显示指定文件的内容。
- //程序名为:display.c
- //执行时可用:display filename1 形式的命令行运行。显示文件filename1中的内容。例如,执行命令行display display.c将在屏幕上显示display的原代码。
- //File display program.
- #include
- void main(int argc,char *argv[]) //命令行参数
- {
- int ch;//定义文件类型指针
- FILE *fp;//判断命令行是否正确
- if(argc!=2)
- {
- printf(”Error format,Usage: display filename1\n”);
- return; //键入了错误的命令行,结束程序的执行
- }
- //按读方式打开由argv[1]指出的文件
- if((fp=fopen(argv[1],“r”))==NULL)
- {
- printf(”The file <%s> can not be opened.\n”,argv[1]);//打开操作不成功
- return;//结束程序的执行
- }
- //成功打开了argv[1]所指文件
- ch=fgetc(fp); //从fp所指文件的当前指针位置读取一个字符
- while(ch!=EOF) //判断刚读取的字符是否是文件结束符
- {
- putchar(ch); //若不是结束符,将它输出到屏幕上显示
- ch=fgetc(fp); //继续从fp所指文件中读取下一个字符
- } //完成将fp所指文件的内容输出到屏幕上显示
- fclose(fp); //关闭fp所指文件
- }
//程序名为:display.c
//执行时可用:display filename1 形式的命令行运行。显示文件filename1中的内容。例如,执行命令行display display.c将在屏幕上显示display的原代码。
//File display program.