- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10.5 文件读写的出错检测 1.ferror函数 ferror函数的一般调用形式为 ferror(fp); 如果返回值为0,表示未出错,否则表示出错 每次调用输入输出函数,都产生新的ferror函数值,因此调用输入输出函数后立即检查 调用fopen时,ferror的初始值自动置为0 10.5 文件读写的出错检测 2. clearerr函数 作用是使文件错误标志和文件结束标志置为0 调用一个输入输出函数时出现错误(ferror值为非零值),立即调用clearerr(fp),使ferror(fp)值变0,以便再进行下一次检测 只要出现文件读写错误标志,它就一直保留,直到对同一文件调用clearerr函数或rewind函数,或任何其他一个输入输出函数 10.3.4 用二进制方式向文件读写一组数据 一般调用形式为: fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 10.3.4 用二进制方式向文件读写一组数据 buffer:是一个地址 对fread来说,它是用来存放从文件读入的数据的存储区的地址 对fwrite来说,是要把此地址开始的存储区中的数据向文件输出 size:要读写的字节数 count:要读写多少个数据项 fp:FILE类型指针 例10.4 从键盘输入10个学生的有关数据,然后把它们转存到磁盘文件上去。 解题思路: 定义有10个元素的结构体数组,用来存放10个学生的数据 从main函数输入10个学生的数据 用save函数实现向磁盘输出学生数据 用fwrite函数一次输出一个学生的数据 #include stdio.h #define SIZE 10 struct Student_type { char name[10]; int num; int age; char addr[15]; }stud[SIZE]; void save( ) { FILE *fp; int i; if((fp=fopen(stu.dat,wb))==NULL) { printf(cannot open file\n); return; } for(i=0;iSIZE;i++) if(fwrite(stud[i], sizeof(struct Student_type), 1,fp)!=1) printf(file write error\n); fclose(fp); } 10+4+4+15=33,实际上开辟36字节,是4的倍数 当前路径下的文件 int main() { int i; printf(“enter data of students:\n); for(i=0;iSIZE;i++) scanf(%s%d%d%s, stud[i].name,stud[i].num, stud[i].age,stud[i].addr); save( ); return 0; } 为了验证在磁盘文件“stu.dat”中是否已存在此数据,可以用以下程序从“stu.dat”文件中读入数据,然后在屏幕上输出。 #include stdio.h #include stdlib.h #define SIZE 10 struct Student_type { char name[10]; int num; int age; char addr[15]; }stud[SIZE]; int main( ) {int i; FILE *fp; if((fp=fopen(stu.dat,rb))==NULL) {printf(cannot open file\n); exit(0); } for(i=0;iSIZE;i++) {fread (stud[i],sizeof(struct Student_type),1,fp); printf (“%-10s %4d %4d %-15s\n”, stud[i].name,stud[i].num, stud[i]. age,stud[i].addr); } fclose (fp); return 0; }
您可能关注的文档
- 2017年内蒙古混凝土工:机械拌制考试试卷.doc
- 2017年北京师范大学行政管理专业考研真题答题黄金攻略.docx
- 2017年台湾省建筑材料与构造:混凝土的施工温度应力考试题.docx
- 2017年职业生涯规划课件.ppt
- 2017年青岛版一年级数学下册教学计划.docx
- 2017新人教版六年级数学下册教学计划及进度完整版.doc
- 2017年苏教版语文第八册教学计划.doc
- 2017苏教版小学数学四年级下册教学计划.doc
- 2017秋人教版八年级生物上册第五单元第五章 病毒同步教学课件 (共44张PPT).ppt
- 2017部审语文版二年级上册8.吃水不忘挖井人识字教学.ppt
- 重庆市北碚区教育事业单位2026年面向应届高校毕业生考核招聘工作人员备考题库有答案详解.docx
- 龙山县纪委监委、县委巡察办2026年公开选调工作人员备考题库及答案详解1套.docx
- 西安高新区第四完全中学2026届校园招聘备考题库完整答案详解.docx
- 2025年安顺市关岭自治县留置辅警笔试真题附答案解析.docx
- 西藏自治区文物局2026年度引进急需紧缺人才备考题库及1套完整答案详解.docx
- 重庆备考题库与智慧医学研究院聘用人员招聘备考题库(2026年1月)及参考答案详解1套.docx
- 长沙县实验中学2025年下学期公开招聘校聘教师备考题库及参考答案详解1套.docx
- 贵州城市职业学院2026年度春季学期招聘备考题库有答案详解.docx
- 许昌市2026年度市直机关公开遴选公务员备考题库带答案详解.docx
- 陆良县消防救援局专职消防员招聘20人备考题库含答案详解.docx
最近下载
- 《陆上风力发电机组钢混塔架施工与质量验收规范》编制说明.pdf VIP
- 苏J/T16-2004(二)建筑外保温构造图集(二)挤塑聚苯乙烯泡沫塑料板外保温系统.docx VIP
- 公路水运施工企业安全生产管理人员培训课件.ppt
- 华东交通大学2010—2011学年考试卷《复变函数》期末试卷.doc VIP
- 南京开通KT820数控车床说明书.pdf VIP
- 县卫生健康局副局长2025年度民主生活会个人对照检查材料(五个带头).docx VIP
- 班会少年强则国强.ppt VIP
- 《版权所有侵权必究》课件.ppt VIP
- 《SWOT分析法介绍》课件.ppt VIP
- 2023-2024学年河南省郑州市郑东新区四年级(上)期末数学试卷(全解析版).docx VIP
原创力文档


文档评论(0)