- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
;学习目标;;12.1 C语言文件的概念;C语言把文件看成是一个字符(字节)的序列(简称为流式文件),即文件是由一个一个字符(字节)数据组成的。
按数据的组织形式(即数据在硬盘上的存储形式)可分为文本文件(字符流)和二进制文件(二进制流)。
文本文件:
文本文件也称为ASCII码文件,每个字节存放一个ASCII码,表示一个字符。文本文件可在屏幕上按字符显示。在文本文件中,由于数据是采用ASCII码的形式进行存储的,所以保存在内存中的所有数据(二进制形式)在存入文本文件时都要先转换为等价的ASCII码字符形式。;二进制文件:
它是把内存中的数据(二进制形式)按其在内存中的存储形式原样存入文件的,存入文件时不需要进行数据转换。;2、文件的处理方式;12.2 文件类型指针;文件类型指针变量定义的一般格式为:
FILE? *文件类型指针变量名;
例如:
FILE??*p;
表示p被定义为文件类型的指针变量,借助p可以指向某一文件。;12.3 文件的打开与关闭;文件操作方式;说明
( 1 )不能用”r”方式打开一个不存在的文件,”r”方式只读不能写。
(2)W”方式只写不能读,具有建立和覆盖功能。
(3)调用fopen函数时,如果返回NULL则表示打开不成功。
常见的程序形式为:
FILE *fp;
fp= fopen(文件名,文件使用方式);
if(fp==NULL)
{
printf(file cant opened\n);
exit(0);
}
exit函数的功能是关闭所有已经打开的文件,结束程序运行并返回到操作系统,同时把括号()中的值传递给操作系统。括号中的值若为0,则认为程序正常结束;若为非0,则表示程序出错后退出。该函数的定义在process.h头文件中。;12.3.2 文件关闭;12.4 文件的读写;文件的写操作
就是将一些数据写入某个文件。文件可以是个已经存在的文件,也可以是一个新建的文件。每次写操作都是将某些数据从文件的位置标记处开始写入,写操作完毕后,文件位置标记自动移到下个写入位置。写操作不仅会影响文件的位置标记,还会修改文件的内容。;写字符函数
fputc函数的调用格式为:
fputc(字符,文件指针);
功能:把一个字符写入文件指针指向的文件。
其中,文件指针所指文件的打开方式必须是“w”、“w+”、“a”、“a+”。
例如:
fputc(b,fp);
表示把字符常量b写入fp所指的文件。每写入一个字符,文件内部的位置指针向后移动一个字节。
fputc函数有一个返回值,若写成功,则返回这个写入的字符,否则,返回EOF。;/*源文件:demo12_1.c*/
#include stdio.h
#include process.h
void main()
{
FILE *fp;
char ch;
/*以写方式打开文件*/
if(( fp=fopen(example1.txt,w) )==NULL)
{
printf(Can’t open the file!\n);
exit(0);
}
/*向文件写入若干字符*/
while((ch=getchar())!=\n)
{
fputc(ch,fp);
}
/*关闭文件*/
fclose(fp);
/*以读方式打开文件*/
if((fp=fopen(example1.txt,r))==NULL)
{
printf(Can’t open the file!\n);
exit(0);
}
;读字符串读写函数
fgets函数的调用格式为:
fgets(字符数组名,n,文件指针);
功能:从文件指针指向的文件中读取n-1个字符,放到字符数组中,并在读取的最后一个字符后加字符串结束标志“\0”。若n-1个字符读入完成之前遇到换行符“\n”或文件结束符EOF,则该函数结束。
该函数的返回值:正常时返回字符数组首地址;出错或读到文件尾,返回NULL。
例如:
fgets(str,n,fp);
表示从fp所指的文件中读取n-1个字符,并送入字符数组str。
注意:fgets函数读取的字符个数不会超过n-1,因为字符串尾部自动追加“\0”字符。;写字符串函数
fputs函数的调用格式为:
fputs(字符串,文件指针);
功能:把一个字符串写到文件指针所指的文件中。
该函数的返回值:正常时返回写入的最后一个字符,出错时返回EOF。
例如:
fputs(hello,fp);
表示把字符串“hello”写到fp所指的文件中。
注意:fputs函数在将字符串写入文件时,自动舍弃’\0’字符。;/*源文件:demo12_2.c*/
#include stdio.h
#inc
您可能关注的文档
- 13全国计算机等级考试-二级C语言课程大纲.pptx
- 14 C语言考试流程.pptx
- 虚拟现实交互设计-走进Unity的世界.ppt
- 虚拟现实交互设计-通过一个小游戏认识Unity——星际冒险.ppt
- 虚拟现实交互设计-基本3D场景的创建——湖光山色.ppt
- 汽车轻量化材料在汽车轻量化车身制造中的轻量化制造政策法规报告.docx
- 2025年工业互联网平台数字签名技术规范与数据安全报告.docx
- 2025年城市黑臭水体治理与绿色基础设施实施方案.docx
- 基于2025年公众参与的环评公众参与公众意见表达与机制优化报告.docx
- 饮料行业新型甜味剂2025年法规合规性对产品市场细分领域的影响报告[001].docx
- 2025年休闲食品健康化转型下的市场拓展策略与渠道创新报告[001].docx
- 农村电商服务站品牌建设:2025年运营模式创新与品牌传播报告.docx
- 2025年互联网金融平台合规整改与金融科技监管的合规监督与可持续发展策略.docx
- 2025年短视频平台内容监管与平台社会责任关系研究报告.docx
- 农产品溯源体系在农产品质量安全监管中的信用体系构建与实施策略研究.docx
- 2025年工业互联网平台数据备份与恢复策略创新方案探讨.docx
- 2025年线上法律咨询服务平台法律咨询行业竞争策略研究.docx
- 农业产业集群农产品流通体系构建与发展机制报告.docx
- 智能制造领航者:2025年3D打印技术在规模生产中的应用效果分析报告[001].docx
- 农村金融服务创新与农村金融消费者权益保护法规实施效果分析报告.docx
文档评论(0)