- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
type a1.txt 显示的文件内容(该文件可用TC集成环境或WINDOWS记事本等编辑器建立) 1 2 3 5 6 7 8 9 10 12 13 例11.5 编程统计一个C源程序文件的字符行数。 算法设计:C源程序文件名由键盘输入; 统计文件中包含的\n字符数目。 输出文件a2.txt的内容 1 5 8 11 2 6 9 12 3 7 10 13 11.4 字符文件应用(续5) 11.4 字符文件应用(续6) #include stdio.h void main() { FILE ?fr;char ch;char fname[81];int n=0; printf(Input a C source file name:);gets(fname); fr=fopen(fname, r); if(!fr) { printf(file %s not found.\n,fname);return; } while(1) { ch=fgetc(fr);if(feof(fr)) break; if(ch= =\n) n++; } printf(number of rows=%d\n,n); fclose(fr); } 11.4 字符文件应用(续7) 算法设计:C源程序文件名由键盘输入; 设置一个计数变量c,初值为0,读到左 { 则c自加1,遇到右}则自减1。扫描文件过程中,出现c0或者扫描结束后,c0都说明{ }没有配对。 #include stdio.h void main() { FILE ?fr;int ch;char fname[81];int c; printf(Input C source file name:);gets(fname); fr=fopen(fname, r); if(!fr) { printf(file %s not found.\n,fname);return; } 例11.6 判断一个C源程序中的大括号{ }是否配对。 11.4 字符文件应用(续8) c=0; while(1) { ch=fgetc(fr);if(ch= =EOF) break; if(ch? ?{) c++; if(ch= =}) c??; if(c0) break; /? c0,说明大括号配对不正确 ?/ } if(c!=0) printf(braces error.\n); else printf(braces right.\n); fclose(fr); } 11.4 字符文件应用(续9完) 例11.8 输入一句英文,将其作为一行,添加进文本文件B.TXT中。 #include stdio.h void main() { char s[81];FILE ?fp;char ch,?p; fp=fopen(B.TXT,a); /? 字符文件添加写方式 ?/ printf(Input a string:\n);gets(s); fputs(s,fp);fputc(\n,fp); fclose(fp); } 问题与思考:文件B.TXT需要事先建立吗? 11.5 二进制文件应用 例11.9 编程实现文件复制程序。要求源文件名和目的文件名可以用命令行参数提供,也可以提示从键盘输入。 #include stdio.h #include string.h void main(int argc,char ?argv[]) { FILE ?fr,?fw;int ch;char sfn[81],dfn[81]; if(argc= =3) { strcpy(sfn,argv[1]);strcpy(dfn,argv[2]); } else { printf(Input Source file name:);gets(sfn); printf(Input Destination file name:);gets(dfn); } 11.5 二进制文件应用(续1) fr=fopen(sfn, rb); /? 二进制只读方式打开源文件 ?/
文档评论(0)