- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
9.3.4文件的错误检测及错误处理函数1.文件的错误检测函数ferror在调用多种输入/输出函数(如fgetc、fputc、fread、fwrite等)时,对出现的错误有两种检测办法:一种是从该函数返回的一个异常值得知;另一种是调用ferror函数,根据它的返回值判断是否有读/写错误出现。ferror函数的调用格式是: 〈整型变量〉=ferror(〈文件指针〉);如果发现有读/写错误,则ferror返回非零值(代表真);若未发现错误,则返回值为0(代表假)。由ferror函数检测错误必须紧跟在读/写操作之后,否则当进行下一次读/写操作时,本次读/写操作的出错状态会被取消。当文件刚打开时,ferror函数自动置初值0。2.文件的错误处理函数clearerr该函数的功能是清除错误标志,并把文件结束标志置为0。如果在调用一个输入/输出函数时出现错误,用ferror函数检测就会得到非0值,这时在调用clearerr(fp)之后,ferror(fp)的值又变为0。只要出现错误标志,那它就会一直保留,直到对同一个文件调用clearerr函数、rewind函数或任何其他一个输入/输出函数为止。习题91.利用命令行参数编写程序,把一个文件的内容追加到另一个文件后面,并且在追加时把大写字母全部改为小写字母。2.编写一个程序,交替地读取两个文件的正文行,并把它们送入另一个文件stdout中。如果一个文件读完,就把另一个文件中余下的内容全部复制到stdout中。3.一个班有30名学生,每人有4门成绩,从键盘输入每个学生的数据(学号、姓名及4门成绩),计算出平均分,将原来的数据和计算出的平均分存放到文件score中。4.编写一个程序,统计输入文件中的小写英文字母的出现次数以及每个字母占输入字母总数的百分比。5.有一个整数文件intfile,要求将其中的偶数加倍,奇数加1,生成一个新的偶数文件evenfile。6.一个学生文件包含姓名和分数,第一次读取后将其内容在屏幕上显示,第二次读取后将其内容复制到另一文件中。7.编程实现对一个文本文件的反向显示。8.在一个文本文件中,“(*”和“*)”之间的内容为注释,读取该文件,输出时忽略注释内容。2)fputs函数fputs函数的调用格式为: fputs(str,fp);其中,fp为文件指针,str为一字符串,它可以是指向字符串的指针,也可以是字符数组名,还可以是字符串常量。功能:把指定的字符串放到指定的文件中。fputs函数在将字符串写入文件时,把字符串后的′\0′字符自动舍去。同样有 fputs(str,stdout)≠puts(str)因为puts()函数是把字符串尾部的′\0′字符变成回车符输出,而fputs函数则是舍去字符串末尾的′\0′字符。fputs函数若输出成功,则返回值为0;若输出失败,则返回值为EOF(即-1)。【例9-3】fputs函数的应用。#includestdio.hmain(){charstr[10];gets(str);puts(str);puts(str);putchar(′\n′);fputs(str,stdout);fputs(str,stdout);return0;}运行输出:very↙ /*输入*/very /*两个puts的输出*/veryveryvery /*两个fputs的输出*/分析运行结果可以看出:输入中的回车符变为′\0′附在最后;用puts函数输出时遇到′\0′变为回车符换行,因此有两行“very”。在输出第二个“very”并换行后又执行putchar(′\n′),则又空出一行。当遇到fputs时,输出“very”后不换行,则第二个“very”就在同一行输出了。仍用上面的例子,如果把其中的gets(str)换成fgets(str,10,stdin),则执行后的输出结果是:very↙ /*输入*/very /*空1行*/very /*空两行*/veryvery请分析为什么会出现这样的结果。【例9-4】将一个磁盘文件上的内容加上行序号显示在屏幕上,并复制到另一个磁盘文件中。#includestdio.h#includestdlib.hmain(intargc
您可能关注的文档
最近下载
- 领导班子2025年民主生活会对照检查材料例文(四个带头).docx VIP
- WD西部数据My Passport Ultra and My Passport Ultra for Mac Quick Install Guide移动硬盘安装指南English (US).pdf
- 工业园区污水BOT项目运营维护方案.doc
- 牛血清去蛋白注射液的美容作用研究.pptx
- 广数DAP03说明书.pdf VIP
- 《中国古代书法》课件——隶书.pptx VIP
- 《行书书法教程》课件.ppt VIP
- 小学数学二年级上册数学《东南西北》教学设计优秀教案.docx
- 笔奇意纵 气逸神飞--草书书写指导.ppt VIP
- 人力 -北极星总裁特助行动计划实施方案.pptx
文档评论(0)