12.2文件的打开与关闭 对文件进行操作之前,必须先打开该文件;使用结 束后,应立即关闭,以免数据丢失。 C语言规定了标准输入输出函数库,用fopen(0函数 打开一个文件,用fclose0函数关闭一个文件。 12.2.1文件的打开一fopen(0函数 l.用法:FILE*fopen("文件名","操作方式"); 2.功能:返回一个指向指定文件的指针。 3.函数原型:stdio.h。 注:对文件操作的库函数,函数原型均在头文件 stdio.h中。后续函数不再赘述
12.2 文件的打开与关闭 对文件进行操作之前,必须先打开该文件;使用结 束后,应立即关闭,以免数据丢失。 C语言规定了标准输入输出函数库,用fopen()函数 打开一个文件,用fclose()函数关闭一个文件。 12.2.1 文件的打开──fopen()函数 1.用法: FILE *fopen("文件名" , "操作方式"); 2.功能:返回一个指向指定文件的指针。 3.函数原型:stdio.h 。 注:对文件操作的库函数,函数原型均在头文件 stdio.h中。后续函数不再赘述
(1)“文件名”是指要打开(或创建)的文件名。 如果使用字符数组(或字符指针),则不使用双引号。 (2)“操作方式”如表12-1所示。 例如,FILE*fD; fp=fopen("data.99","r"); 3.说明 (1)如果不能实现打开指定文件的操作,则fopen) 函数返回一个空指针NULL(其值在头文件stdio.h中被定 义为0)。 为增强程序的可靠性,常用下面的方法打开一个文件: if(fp=fopen("文件名","操作方式")=NULL) printf("can not open this file\n"); exit(0); }
(1)“文件名”是指要打开(或创建)的文件名。 如果使用字符数组(或字符指针),则不使用双引号。 (2)“操作方式”如表12-1所示。 例如,FILE *fp; fp=fopen("data.99" ,"r"); 3.说明 (1)如果不能实现打开指定文件的操作,则fopen() 函数返回一个空指针NULL (其值在头文件stdio.h中被定 义为0)。 为增强程序的可靠性,常用下面的方法打开一个文件: if((fp=fopen("文件名","操作方式"))==NULL) { printf("can not open this file\n"); exit(0); }
●关于exitO)函数 1)用法:void exit([程序状态值); 2)功能:关闭已打开的所有文件,结束程序运行, 返回操作系统,并将“程序状态值”返回给操作系统。 当“程序状态值”为0时,表示程序正常退出;非0值 时,表示程序出错退出。 (2)“r(b)+与“a(b)+”的区别:使用前者打开 文件时,读写位置指针指向文件头;使用后者时,读写 指针指向文件尾。 (3)使用文本文件向计算机系统输入数据时,系统 自动将回车换行符转换成一个换行符;在输出时,将换 行符转换成回车和换行两个字符
●关于exit()函数 1)用法:void exit([程序状态值]); 2)功能:关闭已打开的所有文件,结束程序运行, 返回操作系统,并将“程序状态值”返回给操作系统。 当“程序状态值”为0时,表示程序正常退出;非0值 时,表示程序出错退出。 (2)“ r(b)+”与“ a(b)+”的区别:使用前者打开 文件时,读写位置指针指向文件头;使用后者时,读写 指针指向文件尾。 (3)使用文本文件向计算机系统输入数据时,系统 自动将回车换行符转换成一个换行符;在输出时,将换 行符转换成回车和换行两个字符
使用二进制文件时,内存中的数据形式与数据文 件中的形式完全一样,就不再进行转换。 (4)有些C编译系统,可能并不完全提供上述对 文件的操作方式,或采用的表示符号不同,请注意所 使用系统的规定。 (5)在程序开始运行时,系统自动打开三个标准 文件,并分别定义了文件指针: 1)标准输入文件 stdin:指向终端输入(一般 为键盘)。如果程序中指定要从stdin所指的文件输入 数据,就是从终端键盘上输入数据
使用二进制文件时,内存中的数据形式与数据文 件中的形式完全一样,就不再进行转换。 (4)有些C编译系统,可能并不完全提供上述对 文件的操作方式,或采用的表示符号不同,请注意所 使用系统的规定。 (5)在程序开始运行时,系统自动打开三个标准 文件,并分别定义了文件指针: 1)标准输入文件——stdin:指向终端输入(一般 为键盘)。如果程序中指定要从stdin所指的文件输入 数据,就是从终端键盘上输入数据
2)标准输出文件一stdout:指向终端输出(一般为 显示器)。 3)标准错误文件一stderr:指向终端标准错误输出 (一般为显示器)。 12.2.2文件的关闭一fcolse(0函数 1.用法:int fclose(FLE*文件指针); 2.功能:关闭“文件指针”所指向的文件。如果正 常关闭了文件,则函数返回值为0;否则,返回值为非0。 例如,fclose(fp);/*关闭fp所指向的文件*/ [Return]
2)标准输出文件——stdout:指向终端输出(一般为 显示器)。 3)标准错误文件——stderr:指向终端标准错误输出 (一般为显示器)。 12.2.2 文件的关闭──fcolse()函数 1.用法: int fclose(FILE *文件指针); 2.功能:关闭“文件指针”所指向的文件。如果正 常关闭了文件,则函数返回值为0;否则,返回值为非0。 例如,fclose(fp);/*关闭fp所指向的文件*/ [Return]