- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计与数据结构课件第10章文件读写
C语言程序设计与数据结构 【例10.6】 从c:盘根目录下名为test3.dat的二进制文件中读取10个整数,要求先读取第6~10个整数,再读取第1~5个整数。并把它们输出到屏幕上显示。 #include stdio.h main( ) { FILE *fp; int data[10],i; if((fp=fopen(c:\\test3.dat,rb))==NULL) { printf(File can not open!\n); exit(0); } fseek(fp, 5L*sizeof(int) ,0); /*先把文件位置指针后移*/ fread(data, sizeof(int),5, fp); /*先读取第6~10个整数放入data[0]~data[4]*/ rewind(fp); /*把文件位置指针移到文件开始*/ fread(data+5, sizeof(int),5, fp); /*再读取第1~5个整数放入data[5]~data[9]*/ fclose(fp); for(i=0;i10;i++) printf(%5d,data[i]); } C语言程序设计与数据结构 【例10.7】从键盘输入三个学生数据,写入一个文件中,再读出这两个学生的数据显示在屏幕上。 #includestdio.h struct stu { char name[20]; int num; int age; char addr[30]; }boya[3],boyb[3],*pp,*qq; main() { FILE *fp; int i; pp=boya; qq=boyb; if((fp=fopen(c:\\studata,wb+))==NULL) { printf(Cannot open file strike any key exit!); getchar(); exit(1); } C语言程序设计与数据结构 for(i=0;i3;i++,pp++) { printf(input name num age addr:\n); scanf(%s%d%d%s,pp-name,pp-num,pp-age,pp-addr); } pp=boya; fwrite(pp,sizeof(struct stu),3,fp); rewind(fp); fread(qq,sizeof(struct stu),3,fp); fclose(fp); printf(\n\nname\tnumber age addr\n); for(i=0;i3;i++,qq++) printf(%s\t%5d%7d %s\n,qq-name,qq-num,qq-age,qq-addr); } 本例程序定义了一个结构stu,说明了两个结构数组boya和boyb以及两个结构指针变量pp和qq。pp指向boya,qq指向boyb。程序首先以读写方式打开二进制文件“studata”,输入三个学生数据之后,写入该文件中。然后把文件内部位置指针移到文件首,读出三块学生数据后,在屏幕上显示。 C语言程序设计与数据结构 格式化读写函数fscanf和fprintf fscanf函数,fprintf函数与前面使用的scanf和printf 函数的功能相似,都是格式化读写函数。两者的区别在于fscanf函数和fprintf函数的读写对象不是键盘和显示器,而是磁盘文件。这两个函数的调用格式为: fscanf(文件指针,格式字符串,输入表列); fprintf(文件指针,格式字符串,输出表列); 例如: fscanf(fp,%d%s,i,s); fprintf(fp,%d%c,j,ch); 用fscanf和fprintf函数也可以完成例10.7的问题。修改后的程序如例10.8所示。 C语言程序设计与数据结构 【例10.8】用fscanf和fprintf函数解决例10.7的问题。 #includestdio.h struct stu { char name[20]; int num; int age; char addr[30]; }boya[3],boyb[3],*pp,*qq; main( ) { FILE *fp; int i; pp=boya; qq=boyb; if((fp=fopen(c:\\studata,wb+))==NU
您可能关注的文档
- 5s培训浅近教材精品.doc
- 5s管理培训理想培训.doc
- 5土建施工质量与安全标准强制性条文2009年版529.ppt
- 5设置安全管理机构的文件工作职责安全机构负责人的任命书安全管理机构成员的明细表.doc
- 600373中文传媒募集资金管理制度.ppt
- 600674 川投能源所属公司负责人管理责任审计试行办法.ppt
- 5why分析法史上最系统最专业版.ppt
- 62附加智盈人生提前给付重疾险介绍第6天上午 07年 9.ppt
- 601929 吉视传媒内部控制测试评价管理制度.ppt
- 62附加智盈人生提前给付重疾险介绍第6天上午07年9月版.ppt
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)