- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件操作 第十二章 回顾 上一节课主要讲解了以下内容 结构体 结构体数组 typedef关键字 冒泡排序法 插入排序法 目标 解释流和文件 讨论文本流和二进制流 解释各种文件函数 解释文件指针 讨论当前活动指针 文件输入/输出 C 语言的 I/O 操作使用标准库中的函数来实现 文件输入和输出的数据可以用内部的二进制表示法传输 文件输入和输出的数据也可以按文本格式传输 流 C 文件系统可以与各式各样的设备一起使用 缓冲文件系统可以将每个设备转换成逻辑设备,即所谓的流 由于所有的流工作方式类似 有两种类型的流 文本流 二进制流 文本流 文本流是一系列字符,可以由许多行构成,每行由一个换行符终止 在文本流中,可以根据情况需要对某些字符进行转换 写(或读)的字符与外部设备上的字符可能不是一对一的关系 同样,由于可能发生转换,写(或读)的字符数可能与外部设备上的字符数不同 二进制流 二进制流是一系列字节,并与外部设备上的字节一一对应 写(或读)的字节数与外部设备上的字节数一样 文件流是一系列独立的字节,没有任何标记用来指明文件的结束或记录的结束 文件的结束是由文件大小来决定的 文件 文件可以指任何设备,如磁盘文件、终端以及打印机 通过执行打开操作,文件可以与流进行关联;通过执行关闭操作,可以断开关联 如果一个程序正常终止,所有文件都会自动关闭 一旦程序崩溃,文件会保持打开状态 基本的文件函数 文件指针 文件指针是读写文件必需的 文件指针指向一个结构,该结构包含以下信息:文件名、文件的当前位置、文件是否正在读或写、是否出错或是否到达文件末尾 stdio.h 中定义了一个称为 FILE 的结构 文件指针所需的唯一声明为: FILE *fp 打开文本文件 fopen() 函数打开一个流,并将其与一个文件关联起来 fopen() 函数返回与该文件关联的文件指针 fopen() 函数的原型为: FILE *fopen(const char *filename, const char *mode); 关闭文本文件 关闭文件可以释放系统资源,并且能降低超出允许打开的文件个数的风险 关闭流的同时也将清除所有相应的缓冲区 fclose() 函数关闭通过调用 fopen() 而打开的流 fclose() 函数的原型为: int fclose(FILE *fp); fcloseall() 函数用于关闭所有打开的流 向文本文件中写入字符 流可以逐个字符或将一个字符串写入文件中 fputc() 用于将字符写入前面由 fopen() 打开的文件 fputc()函数的原型为: int fputc(int ch, FILE *fp); 从文本文件中读取字符 fgetc() 函数用于从使用 fgetc() 以读模式打开的文件中读取字符 fgetc() 函数的原型为: int fgetc(int ch, FILE *fp); fgetc() 函数从输入流中当前位置返回下一个字符,并增加文件位置指示器 字符串 l/O 函数 fputs() 用于向磁盘文件写入字符串,fgets() 用于从磁盘文件读取字符串 fputs() 函数将整个字符串写入指定的流中 fgets() 函数从指定的流中读取一个字符串,直到读到一个换行符或已经读了字符串长度减 1(length-1)个字符 其原型为: int fputs(const char *str, FILE *fp); char *fgets( char *str, int length, FILE *fp); 打开二进制文件 fopen() 函数打开一个流,并将其与一个文件关联起来 fopen() 函数返回与该文件关联的文件指针 fopen() 函数的原型为: FILE *fopen(const char *filename, const char *mode); 关闭二进制文件 fclose() 函数关闭通过调用 fopen() 而打开的流 fclose() 的原型为: int fclose(FILE *fp); fread() 和 fwrite()函数 函数 fread() 和 fwrite() 称为无格式读或写函数 它们用于从文件读取和向文件写入整块的数据 最有价值的一个应用就是读写用户定义的数据类型,尤其是结构 这两个函数的原型为: size_t fread(void *buffer, size_t num_bytes, size_t count, FILE *fp); size_t fwrite(const void *buffer, size_t num_bytes, size_t count, FILE *fp); 使用 f
您可能关注的文档
- 2013-2014学年高中地理人教版选修四同步辅导与检测:3.1城乡规划的内容及意义要点讲解.ppt
- 2013-2014学年高中地理人教版选修四同步辅导与检测:4.2城乡商业与生活环境要点讲解.ppt
- 2013版人教版九年级物理十六章第四节《变阻器》要点讲解.ppt
- 2013车身修复竞赛总结要点讲解.ppt
- 2013第六章聚合物的化学反应(更新)要点讲解.ppt
- 2013高三物理第一轮总复习十:交变电流要点讲解.ppt
- 2013高一历史岳麓版必修一北美大陆上的新体制要点讲解.ppt
- 2013光度技术问题(衰加)-要点讲解.ppt
- 2013届高考物理二轮复习专题:专题八_物理图象问题要点讲解.ppt
- 2013届高考中图版地理一轮复习:3.3.2地理信息系统的应用、数字地球要点讲解.ppt
文档评论(0)