C程序设计_12解析.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6. 按指定的格式向文件输入数据 fprintf(文件指针变量,格式控制符字符串,变量名表列); 作用:将变量表列中的数据按指定的格式输入到文件中 如:fprintf(fp, %d %f %s, a, b, w); 例:/* exp15_6.c*/ #includestdio.h main( ) {FILE *fp; int a; float b; char ch, w[20]; fp=foper(mystest3.txt, w); if (fp= =NULL) printf(file open error\n); else { scanf(%s, w); while(strlen(w)1 { scanf(%d %f, a, b); fprintf(fp, %s%4d%5.1f\n, w, a, b); scanf(%s, w); } fclose(fp) } 运行时输入: 查看当前目录下的mytest3.txt apple 50 5.5 pear 40 4.4 orange 30 3.3 任意字母 小结: 比较上面三个程序,可以看出: 使用fgetc( )、fgets( )、fprintf( )可以达到同一个目的。 §12.4 按“ 记录” 的方式读写 1. 从文件中读: fread(buffer, size, count, fp); 2. 向文件中写a: fwerite(buffer, size, count, fp); 其中:buffer?? 数据存储的起始地址 size ?? 要读写的字节数 count ?? 读写的数据项 fp ?? 文件指针变量 特点:可对数组,结构体数据进行整体输入输出。 返回值:count的值。 注意:使用fread( )、fwrite未读写文件时,文件必须以二进制的方式打开。 §12.5 文件的随机读写 前面介绍的几种对文件的读写都是顺序读写。 问题的产生:要求打开文件后,对指定位置上的数据进行读写操作,减少一些不心要的中间环节。 解决的办法:把文件指针移到指定的位置即可。 关键步骤:文件的定位。 一、文件定位函数 fseek(文件指针变量、 位移量、起始点) 注:? 起始点的取值只有3种: ? 位移量:以起始点为基点移动的字节数 0 ?? 文件开始处 1 ?? 文件位置指针的当前位置 2 ?? 文件尾。 ? ? 文件头 文件尾 起始点 一位移量 十位移量 (往后) (往前) ? ? 位移量应为long型 ? fseek( )的返回值: 0 ?? 成功 非零 ?? 失败 例:fseek(fp, 20l, 0); 将位置指针从文件头移动20个字节 fseek(fp, ?10l, 1); 将位置指针移到离文件尾30个字节处 fseek(fp, ?30l, 2); 将位置从当前位置向后移10个字节 二、位置函数 ftell(文件指针变量); 作用:返回位置指针的当前指向 返回值: ≥0, 文件指针的当前指向 ?1, 出错 例: 文件data1.txt的内容如下: This is a test. C语言程序设计,随机读写函数测试。 要求编写一程序随机读出指定的记录。 三、重新定位函数 rewind( 文件指针变量 ) 作用:使文件指针返回到文件的开头 无返回值. 第一章 C语言概述 第二章 数据类型、运算符与表达式 第三章 最简单的C程序设计 第四章 逻辑运算和判断选取控制 第五章 循环控制 第六章 数组 第八章 编译预处理 第九章 指针 第十章 结构体与共用体 第十二章 文件的基本操作 第十三章 位运算 §12.1 文件的基本概念 文件有多种分类,如: 按文件的内容区分:源程序,图形文件、音频文件、数据文件等等。 按数据的组织形式分:文本文件、二进制文件 ? C语言可以对文本文件和二进制文件进行读写操作。 §12.2 标准I/O和非标准I/O 一、标准I/O(缓冲文件系统) 每一个文件都会在内存开辟一个“缓冲区”。 缓冲区的作用:临时存放数据,减少对磁盘的读写次数。 二、系统I/O(非缓冲文件系统) 系统不设置缓冲区,由用户设置。 系统I/O又称为低层文件系统。 ? 标准I/O与系统I/O分别采用不同的输入/输出函数 ? 对文件的操作顺序:打开?读或写?关闭。 三、标准I/O的读写函数 1. 读写一个字符: fgetc( ); fputc( ); 2. 读写一个字符串: fgets( ); fputs( ); 3. 格式化读写变量: fscanf( ); fprintf( ); 4. 格式化读写一个记录

您可能关注的文档

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档