- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 文件 尚辅网 / 学习内容指南 12.1 文件概述 12.2 文件的打开与关闭 12.3 与文件的读写有关的函数 12.4 文件的定位 12.5 fflush函数 12.6 文件操作举例 文件指存储在介质上的数据的集合。 12.1 文件概述 介质:磁盘、U盘、光盘、以及内存 读文件:将数据从外存文件中传输到程序的操作 写文件:将数据从程序传输到外存文件的操作 文件的分类 从用户的角度,文件可分为普通文件和设备文件。 普通文件就是指存放在介质上的文件。普通文件根据内容,可分为程序文件和数据文件 设备文件指的是与计算机相连的每一个输入输出设备都看成是一个文件。 根据数据的编码方式,文件可分为文本文件(ASCII码文件)和二进制文件。 C语言中,其文件也分为文本文件和二进制文件两类,C语言的文本文件既可以存储ASCII码字符流,也可以存储二进制字节流;二进制文件同样既可以存储ASCII码字符流,也可以存储二进制字节流区别仅在于:在输出到文本文件时,会将换行符\n转换为回车换行符\r和\n两个字符,当从文本文件输入时,则会将回车换行两个字符再转换为换行符\n一个字符;而二进制文件则不进行转换。 文件处理的关键问题是内存中程序与外存中文件的关联 读文件时,数据从外存文件通过流输入到程序,也称这种数据流为输入流; 写文件时,数据从程序通过流输出到外存文件,也称这种数据流为输出流。 文件处理的关键问题 为将内存中程序与外存中文件关联到一起,在程序中 必须有描述文件的变量 C语言中,描述文件的数据类型是文件结构体类型FILE 调用fopen函数在程序和文件之间建立了一个输入流或者输出流或者输入输出流 文件的打开fopen函数: 下面是声明和打开一个文件的格式: FILE *fp ; fp = fopen ( filename , mode ) ; 12.2 文件的打开与关闭 例如: FILE *fp ; fp = fopen( C:\\TC3\\BIN\\abc.txt , w ) ; 调用fopen函数的第一个实参filename为文件名字符串 调用fopen函数的第二个实参mode用来指定所打开文件的使用模式 调用fopen函数,如果成功,则返回指向所分配的文件信息块的指针,即文件指针; 注意,如果文件打开失败,则fopen的返回值为NULL,即空指针值 有效模式值 含 义 r 或 rt 以只读模式打开一个文本文件,如果文件不存在,出错并返回空指针值NULL w 或 wt 以只写模式建立一个文本文件,如果文件已存在,则清除原有内容 a 或 at 打开一个文本文件在文件尾添加,或如果文件不存在,则为写建立指定文件 rb 以只读模式打开一个二进制文件,如果文件不存在,出错并返回空指针值NULL wb 以只写模式建立一个二进制文件,如文件已存在,则清除原有内容 ab 打开一个二进制文件在文件尾添加,或如果文件不存在,则为写建立指定文件 r+或rt+ 或 r+t 打开一个已存在的文本文件用于更新(读和写),此时文件位置指针指向该文件的首字节;或如果指定文件不存在,则出错并返回空指针值NULL w+或wt+ 或 w+t 建立一个文本文件用于更新(读和写),如文件已存在,则清除原有内容;打开后如果先进行读操作则出错。 a+或at+ 或 a+t 打开一个文本文件在文件尾更新(读和写),如果文件不存在,则建立指定文件;打开后如果先进行读操作则出错。 rb+ 或 r+b 打开一个已存在的二进制文件用于更新(读和写),此时文件位置指针指向该文件的首字节;或如果指定文件不存在,则出错并返回空指针值NULL wb+ 或 w+b 建立一个二进制文件用于更新(读和写),如文件已存在,则清除原有内容;打开后如果先进行读操作则出错。 ab+ 或 a+b 打开一个二进制文件在文件尾更新(读和写),如果文件不存在,则建立指定文件;打开后如果先进行读操作则出错。 fopen函数的有效文件使用模式值 文件的关闭fclose函数: fclose函数的调用格式为: fclose ( fp ) ; 12.2 文件的打开与关闭 打开文件之后,对文件进行读写等操作,操作完毕之后,应及时使用fclose函数将该文件关闭,以防止文件缓冲区中还没来得及存盘的数据丢失 例如: FILE *fp ; fp =fopen ( abc.txt , w ) ; … fclose ( fp ) ; 文件使用完就一定要及时关闭 12.3 与文件的读写有关的函数 测试文件出错函数ferror和清除错误函数clearerr。 ferror函数原型为:
文档评论(0)