长春理工大学光电信息学院C语言课件第十二章 文件.pptVIP

长春理工大学光电信息学院C语言课件第十二章 文件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

您可能关注的文档

文档评论(0)

ormition + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档