
第14章 文件 2025年4月2日
2025年4月2日 第14章 文 件

第14章文件 目录 文件的概念 文件类型指针 3 文件打开与关闭函数 文件的读写函数 网☑D
第14章 文件 目 录 4 1 文件的概念 2 文件类型指针 3 文件打开与关闭函数 文件的读写函数

第14章文件 1文件的概念 ·文件:存储在外部介质上数据的集合,是操作系统数 据管理的单位。 •文件分类 八 按存储介质: ·普通文件:存储介质文件(磁盘、磁带等) ·设备文件:非存储介质(键盘、显示器、打印机等) - 按数据的组织形式: ·文本文件:ASCII文件,每个字节存放一个字符的ASCII码 ·二进制文件:数据按其在内存中的存储形式原样存放 M☒D
第14章 文件 1 文件的概念 • 文件:存储在外部介质上数据的集合,是操作系统数 据管理的单位。 •文件分类 –按存储介质: • 普通文件:存储介质文件(磁盘、磁带等) • 设备文件:非存储介质(键盘、显示器、打印机等) –按数据的组织形式: • 文本文件: ASCII文件,每个字节存放一个字符的ASCII码 • 二进制文件:数据按其在内存中的存储形式原样存放

第14章文件 2文件类型指针 C语言中对文件的操作是通过文件指针来实现的, 文件类型是一个结构体类型,它的类型定义包含在 stdio.h文件中。 指针变量说明:FILE*fp; 。用法: 。 文件打开时,系统自动建立文件结构体,并把指向它的指针 返回来,程序通过这个指针获得文件信息,访问文件 文件关闭后,它的文件结构体被释放 冈☑D
第14章 文件 2 文件类型指针 C语言中对文件的操作是通过文件指针来实现的, 文件类型是一个结构体类型,它的类型定义包含在 stdio.h文件中。 n 指针变量说明: FILE *fp; n 用法: n 文件打开时,系统自动建立文件结构体,并把指向它的指针 返回来,程序通过这个指针获得文件信息,访问文件 n 文件关闭后,它的文件结构体被释放

第14章文件 2文件类型指针 文件名 文件使用 C程序 方式 操作系统 文件类型指针 磁盘 国☑D
第14章 文件 2 文件类型指针 文件名 文件使用 方式 文件类型指针 C程序 操作系统 磁盘

第14章文件 3文件的打开、关闭与检测函数 例:以文本方式打开文件名为student.dat的文件 将要往文件中写入数据。 FILE *fp; fp=fopen("student.dat","w"); 例:以二进制方式打开新文件score.dat,打开该 文件后,既可以向该文件中写入数据,也可以从 该文件中读取数据。 FILE *fp; fp=fopen("score.dat","wb+"); 冈☒D
第14章 文件 3 文件的打开、关闭与检测函数 &文件使用方式: 打开文件->文件读/写->关闭文件 &C文件操作用库函数实现,包含在stdio.h – 打开文件fopen • 函数原型: FILE *fopen(char *name,char *mode) 要打开的文件名 使用文件方式 例:以文本方式打开文件名为student.dat的文件 将要往文件中写入数据。 FILE *fp; fp=fopen(" student.dat" , " w "); 例:以二进制方式打开新文件score.dat,打开该 文件后,既可以向该文件中写入数据,也可以从 该文件中读取数据。 FILE *fp; fp=fopen("score.dat" , "wb+"); ;

第14章文件 3文件的打开、关闭与检测函数 般地,为了检测文件是否正常打开,在程序设计中,往 往采用以下方式测试fopeni函数返回的文件指针值是否为NULL: 例如: if((fp=fopen("filename","w")==NULL {printf(\n文件打开错误,请检查!”); exit(0);/*exit函数将关闭所有文件,并终止程序的运行*/ *打开田猫处理住予纹7 M☒D
第14章 文件 一般地,为了检测文件是否正常打开,在程序设计中,往 往采用以下方式测试fopen函数返回的文件指针值是否为NULL: 3 文件的打开、关闭与检测函数 fp=fopen("文件名" , "文件使用方式"); if( fp= =NULL ) { . /* 打开出错处理程序段 */ } 或: if( (fp=fopen(“文件名” , “文件使用方式”)) = = NULL ) { . /* 打开出错处理程序段 */ } 例如: if( (fp=fopen("filename " , " w ") = = NULL ) { printf(“\n文件打开错误,请检查!”); exit(0); /* exit函数将关闭所有文件,并终止程序的运行 */ }

第14章文件 3文件的打开、关闭与检测函数 说明: ■1.用“r”或“r+”方式打开文件时,指定文件一定要存在, 而且用“”方式打开文件时,只能从该文件读取数据,而不能 往文件中写数据。如果用“+”方式打开文件,则既可以从文 件中读取数据,也可以往文件中写入数据。 ■2.用“w”方式打开文件时,可以往文件中写数据,而不能 读取数据。 ■3.用“a”方式打开文件时,指定文件一定要存在,且只能 往文件尾部写数据。 4.上述操作是以文本方式打开文件,如果以二进制方式 打开文件,则相应的文件方式中加上字母”b”。 冈☑D
第14章 文件 3 文件的打开、关闭与检测函数 说明: n 1. 用“r”或“r+”方式打开文件时,指定文件一定要存在, 而且用“r”方式打开文件时,只能从该文件读取数据,而不能 往文件中写数据。如果用“r+”方式打开文件,则既可以从文 件中读取数据,也可以往文件中写入数据。 n 2.用“w”方式打开文件时,可以往文件中写数据,而不能 读取数据。 n 3. 用“a”方式打开文件时,指定文件一定要存在,且只能 往文件尾部写数据 。 n 4. 上述操作是以文本方式打开文件,如果以二进制方式 打开文件,则相应的文件方式中加上字母"b"

第14章文件 3文件的打开、关闭与检测函数 .文件关闭fclose 作用:使文件指针变量与文件“脱钩”,释 放文件结构体和文件指针 函数原型:int fclose(FILE*fp) ·功能:关闭f印指向的文 ·返值:正常关闭为0;出 文件打开时返回的文件类型指针 M☒D
第14章 文件 3 文件的打开、关闭与检测函数 n 文件关闭fclose v 作用:使文件指针变量与文件“脱钩” ,释 放文件结构体和文件指针 v 函数原型:int fclose(FILE *fp) • 功能:关闭fp指向的文件 • 返值:正常关闭为0;出错文时件 ,非打0开时返回的文件类型指针

第14章文件 4文件的读写操作函数 1.fputc函数和fgetci函数(选讲) fputc 函数原型:int fputc(int ch,FILE*fp) -功能:将变量ch中存放的一个字符输出到f印所指向的文件中。 -返值:正常,返回ch;出错,为EOF。EOF是在stdio.h文件 中定义的符号常量,值为-1。 fgetc - 函数原型:int fgetc(FILE*fp) 一功能:从印所指向的文件的当前位置处读出一个字符。同时系统 内部位置指针顺序下移一个字符。 一返值:正常,所读的字符;读到文件尾或出错,为EOF。 冈☒D
第14章 文件 4 文件的读写操作函数 1 . fputc函数和fgetc函数(选讲) fputc – 函数原型:int fputc(int ch, FILE *fp) – 功能:将变量ch中存放的一个字符输出到fp所指向的文件中。 – 返值:正常,返回ch ;出错,为EOF。EOF是在stdio.h文件 中定义的符号常量,值为-1。 fgetc – 函数原型:int fgetc(FILE *fp) – 功能:从fp所指向的文件的当前位置处读出一个字符。同时系统 内部位置指针顺序下移一个字符。 – 返值:正常,所读的字符;读到文件尾或出错,为EOF