C语言教案Ch13文件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言教案Ch13文件

第十三章 文件 §10.1 C文件概述 文件:文件是存储在外部介质上数据的集合 最常见的外部介质就是磁盘,存储在磁盘上的文件就叫磁盘文件。 特别,操作系统将输入输出设备也看作是文件(称为设备文件),如键盘(stdin)、显示器(stdout)等。 数据文件: 专门存放数据的文件 使用数据文件的目的 1)数据文件的改动不引起程序的改动——程序与数据分离 2)不同程序可以访问同一数据文件中的数据——数据共享 3)能长期保存程序运行的大量的中间数据或结果数据 §13.4 文件的读写 13.4.3 磁盘文件的格式读写函数 fprintf()和fscanf(): (只能用于文本文件) 例 文件的格式读写: 建立九九乘法表写入文本文件. 二级考试中的写法(读一读): 13.4.2 数据块读写函数 fread()和fwrite(): (一般用于二进制文件) 13.5 文件的定位 几个概念 文件位置指针-----指向当前读写位置的指针 读写方式 顺序读写:位置指针按字节位置顺序移动 随机读写:位置指针按需要移动到任意位置 ( fseek() ) 文件位置指针的复位函数 函数原型: void rewind(FILE *fp); 功能:重置文件位置指针到文件开头 返回值:无 文件的随机定位函数 函数原型: int fseek(FILE *fp,long offset,int whence); 功能:将文件的位置指针移动到指定位置 返回值:成功,返回0;失败,返回非0值 读取文件当前位置的函数 §13.6 出错的检测 测试文件是否出错的函数 函数原型: int ferror(FILE *fp) 功能:测试文件是否出现输入和输出错误 返回值:未出错,0;出错,非0 说明 每次调用文件输入输出函数,均产生一个新的ferror函数值,所以应及时测试 fopen打开文件时,ferror函数初值自动置为0 错误标志复位的函数 函数原型: void clearerr(FILE *fp) 功能:使文件错误标志置为0 返值:无 说明:出错后,错误标志的值将一直保留,直到对同一文件调用clearerr(fp)或rewind()或任何其它一个输入输出函数,错误标志的值才会被修改. 作业:P348 fseek(fp,i*LEN,0); 可以换成 fseek(fp,LEN,1); 但是需要移到循环体的底部! 说明:出错后,错误标志一直保留,直到对同一文件clearerr(fp)或rewind或任何其它一个输入输出函数调用. fopen(打开文件) 相关函数 open,fclose 表头文件 #includestdio.h 定义函数 FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。 mode有下列几种形态字符串: r 打开只读文件,该文件必须存在。 r+ 打开可读写的文件,该文件必须存在。 w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask值。 返回值 文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。 附加说明 一般而言,开文件后会作一些文件读取或写入的动作,若开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误判断及处理。 范例 #includestdio.h main() { FILE * fp; fp=fopen(“noexist”,”a+”); if(fp= =NULL) return; fclose(fp); } 文章出处:/course/

文档评论(0)

me54545 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档