- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 文件 12.1 文件概述 所谓“文件”是指一组相关数据的有序集 合。这个数据集有一个名称,叫做文件名。 其文件名的一般格式为: 主文件名[.扩展名]。 文件通常是驻留在外部介质(如磁盘等)上 的,在使用时才调入内存中来。 ① 从用户的角度看,文件可分为普通文件和设备文件两种。 普通文件是指驻留在磁盘或其它外部介质上的 一个有序数据集,可以是源文件、目标文件、可执 行程序等。 设备文件是指与主机相联的各种外部设备,如 显示器、打印机、键盘等。通常把显示器定义为标 准输出文件,一般情况下在屏幕上显示有关信息就 是向标准输出文件输出。 ② 从文件编码的方式来看,文件可分为 ASCII码文件(文本文件)和二进制码文件两 种。 ASCII文件在磁盘中存放时每个字符对应一 个字节,用于存放对应的ASCII码。 二进制文件是按二进制的编码方式来存放 文件的。可以节省存储空间和转换时间。 ③根据文件的组织形式来看:可分为顺序存取文件 和随机存取文件。 缓冲文件系统: 是系统自动地在内存区为每个正在使用地文 件开辟一个缓冲区。从内存向磁盘输出数据 时,必须首先输出到缓冲。待缓冲区装满后, 再一起输出到磁盘文件中。从磁盘文件向内存 读入数据时,则相反,首先将一批数据读入到 缓冲区中,再从缓冲区中将数据逐个送到程序 数据区。如下示意图 12.2 文件指针 定义说明文件指针的一般形式为: 12.4 文件的读写 在C语言中提供了多种文件读写的函数: ● 字符读写函数 :fgetc和fputc ● 字符串读写函数:fgets和fputs ● 数据块读写函数:fread和fwrite ● 格式化读写函数:fscanf和fprinf 12.4.1 字符读写函数fgetc和fputc 1. 读字符函数fgetc fgetc函数的功能:是从指定的文件中读一个 字符,此时文件作为“源”。 函数调用的形式为: 【例12.1】读入文件test.cpp,在屏幕上输出。 #include stdio.h void main() { FILE *fp; char ch; if((fp=fopen(d:\\cpro\\test.cpp,rt))==NULL) { printf(\nCannot open file strike any key exit!); } ch=fgetc(fp); while(ch!=EOF) /*EOF文件结束标志*/ { putchar(ch); ch=fgetc(fp); } fclose(fp); } 2. 写字符函数fputc fputc函数的功能:是把一个字符写入指定的 文件中,此时文件作为目的地。 函数调用的形式为: 【例12.2】从键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上。 #include stdio.h void main() { FILE *fp; char ch; if((fp=fopen(d:\\cpro\\file.txt,wt+))==NULL) /*以写的方式打开指定的文件*/ { printf(Cannot open file strike any key exit!); } printf(input a string:\n); ch=getchar(); while (ch!=’\n’) /*通过循环将输入的字符写到文件里*/ { fputc(ch,fp); /*ch写到fp所指的文件*/ ch=getchar(); } rewind(fp); /*指针重新回到文件开始处*/ ch=fgetc(fp); while(ch!=EOF) { putchar(ch); ch=fgetc(fp); } printf(\n); fclose(fp); } 【例12.3】从string文件中读入一个含10个字符的 字符串。 #include st
您可能关注的文档
- 云南师范大学商学院电子商务概论课件第二章 电子商务交易模式.ppt
- 云南师范大学商学院电子商务概论课件第九章 客户关系管理与数据挖掘.ppt
- 云南师范大学商学院电子商务概论课件第六章 网络营销与营销计划.ppt
- 云南师范大学商学院电子商务概论课件第七章 移动电子商务.ppt
- 云南师范大学商学院电子商务概论课件第三章 电子货币网上支付.ppt
- 云南师范大学商学院电子商务概论课件第四章 电子商务与物流.ppt
- 云南师范大学商学院电子商务概论课件第五章 电子商务安全交易.ppt
- 云南师范大学商学院电子商务概论课件第一章 电子商务概述.ppt
- 云南师范大学外语学院美国文学课件Chapter Eight.ppt
- 云南师范大学外语学院美国文学课件Chapter Eleven.ppt
- 长春理工大学光电信息学院C语言课件第十一章 位运算.ppt
- 长春理工大学光电信息学院C语言课件第十章 结构体与共用体.ppt
- 长春理工大学光电信息学院C语言课件第四章 选择结构程序设计.ppt
- 长春理工大学光电信息学院C语言课件第五章 循环控制.ppt
- 长春理工大学光电信息学院C语言课件第一章 C语言概述.ppt
- 长春理工大学光电信息学院电子技术课件 半导体器件及放大电路.ppt
- 长春理工大学光电信息学院电子技术课件 集成运算放大器及应用.ppt
- 长春理工大学光电信息学院电子技术课件 时序逻辑电路.ppt
- 长春理工大学光电信息学院电子技术课件 直流稳压电源.ppt
- 长春理工大学光电信息学院电子技术课件 组合逻辑电路.ppt
最近下载
- 垫付协议书范文.docx VIP
- 四年级上第2单元第5课《了解家乡美丽的风景——数据收集工具》课件(内嵌视频+音频).pptx VIP
- 高思学校竞赛数学导引·三年级(详解升级版).pdf VIP
- 中药新药制备工艺研究的思路与方法.docx VIP
- 我国人工智能的发展历程.pptx VIP
- 乳腺癌重建术的护理.pptx
- 小学五年级民间故事10篇.pdf VIP
- 原嘉兴高联丝绸印染有限公司疑似污染地块土壤污染状况初步调查报告.pdf VIP
- 新解读《GB_T 39107-2020消费品中可挥发性有机物含量的测定 静态顶空进样法》.docx VIP
- 腰椎间盘突出症的中医护理PPT模板.pptx VIP
文档评论(0)