- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
章文件
第11章 文件;§11.1 C文件概述;ANSI C的缓冲文件系统
缓冲文件系统是指,系统自动地在内存区为每个正在使用的文件开辟一个缓冲区。
写文件时,必须首先输出到缓冲区中。待缓冲区装满后,再一起输出到磁盘文件中。
读文件时,则正好相反:首先将一批数据读入到缓冲区中,再从缓冲区中将数据逐个送到程序数据区。;§11.2 文件的类型及其文件的指针;§11.3 常用的文件函数;;(4)如果不能实现打开指定文件的操作,则fopen()函数返回一个空指针NULL (其值在头文件stdio.h中被定义为0)。
为增强程序的可靠性,常用下面的方法打开一个文件:
FILE *fp;
if((fp=fopen(文件名,操作方式))==NULL)
{ printf(can not open this file\n);
exit(0);
};例 文件打开与测试
FILE *fp;
fp=fopen(“aa.c”,“w”);
if(fp==NULL)
{ printf(“File open error!\n”);
exit(0);
};二. 文件的关闭─fcolse函数 ;11.3.2 文件的读写;2.从文件中读一个字符──fgetc()函数
函数原型:int fputc( FILE *stream);
用法: fgetc(文件指针);
功能:从“文件指针”所指向的文件中,读入一个字符,同时将读写位置指针向前移动1个字节(即指向下一个字符)。
返回值:如果在读字符时遇到文件结束符,函数返回一个文件结束标志EOF(即-1),否则返回所读的字符。
例如,ch=fgetc(fp) ;
对二进制文件执行读入操作时,必须使用库函数feof()来判断是否遇到文件尾。如果遇到文件尾,feof返回1;否则,则返回0。 ;#include stdio.h
main()
{ FILE *fp;
char ch,*filename=“out.txt”;
if((fp=fopen(filename,w))==NULL)
{ printf(cannot open file\n);
exit(0);
}
printf(Please input string:);
ch=getchar();
while(ch!=#)
{ fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
};#include stdio.h
main()
{ FILE *in, *out;
char ch,infile[10],outfile[10];
scanf(%s,infile);
scanf(%s,outfile);
if ((in = fopen(infile, r))== NULL)
{ printf(Cannot open infile.\n);
exit(0);
}
if ((out = fopen(outfile, w))== NULL)
{ printf(Cannot open outfile.\n);
exit(0);
}
while (!feof(in))
fputc(fgetc(in), out);
fclose(in); fclose(out);
};二. 文件的字符串读写—— fgets()和fputs()函数
1.库函数fputs()──向指定文件输出一个字符串
用法:fputs(字符串,文件指针);
“字符串”可以是一个字符串常量,或字符数组名,或字符指针变量名
功能:向指定文件输出一个字符串,同时将读写位置指针向前移动(字符串长度)个字节。如果输出成功,则函数返回值为0;否则,为非0值
2.库函数fgets()──从文件中读一个字符串
用法:fgets(指针,串长度+1,文件指针);
功能:从指定文件中读入一个字符串,存入“字符数组/指针”中,并在尾端自动加一个结束标志\0;同时,将读写位置指针向前移动(字符串长度)+1个字节。
如果在读入规定长度之前遇到文件尾EOF或换行符,读入即结束。;fputs(china,fp);
fgets(str,n+1,fp);;例 从键盘读入字符串存入文件,再从文件读回显示;三. 读/写文件中的一个数据块
实际应用
您可能关注的文档
最近下载
- 家庭与社区的变化与发展.pptx VIP
- 丙肝防治培训课件.pptx VIP
- 《食物链》.ppt VIP
- 2025年辽宁丹东市融媒体中心招聘6人笔试模拟试题参考答案详解.docx VIP
- 2018湖北省市政工程定额(第十一册措施项目)PDF版.pdf VIP
- 4.1和面、揉面、饧面、搓条(课件)- 《中式面点制作基础教程》同步教学(劳保版).pptx VIP
- 2025年丹东市融媒体中心招聘考试笔试试题.docx VIP
- 铁路技术管理规程(普速铁路部分)题库 .pdf VIP
- 中国失眠症诊断和治疗指南(精选PPT).pptx VIP
- 2025年马鞍山市公安局第三季度招聘警务辅助人员139名笔试参考题库附答案解析.docx VIP
文档评论(0)