- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十二章 文件 一、文件概述 二、文件指针 三、文件的打开与关闭 四、文件的读写 五、文件的定位 六、出错的检测 七、电动车电池管理管理之二 二、文件指针 三、文件的打开和关闭 四、文件的读写 五、文件的定位 六、出错的检测 七、电动车电池管理程序之二 fscanf(fp,%d,%f,i,t); printf(%d,%6.2f\n,i,t); fclose(fp); } 说明: 1) scanf( )和printf( )的读写对象是键盘和显示器。 2) fscanf( )和fprintf( )的读写对象是磁盘文件。用fscanf( )和fprintf( )对磁盘文件操作,由于读操作时要将字符转换为二进制形式,在写操作时又要将二进制转换为字符,花费时间较多。因此,在内存与磁盘频繁交换数据的情况下,最好不用fscanf( )和fprintf( ),而用fread( )和fwrite( )。 文件中有一个位置指针,指向当前读写的位置。如果顺序读写一个文件,每次读写一个字符,则读写完一个字符后,该位置指针自动移动指向下一个字符位置。如果想改变这样的规律,强制使位置指针指向其它指定的位置,可以使用有关函数。 1、rewind函数 rewind函数的作用是使位置指针重新返回文件的开头。该函数在“stdio.h”中定义。 该函数调用的一般形式为: rewind(fp); 其中:fp是文件指针。此函数没有返回值。 【例12-9】有一文件,第一次将它显示在屏幕上,第二次将它复制到另一文件上。 #include stdio.h #include stdlib.h void main( ) { FILE *fp1,*fp2; char ch; if((fp1=fopen(c:\\file\\s.txt,r))==NULL) //在C盘file文件夹已存在s.txt { printf(文件未成功打开!\n); exit(0); } if((fp2=fopen(c:\\file\\t.txt,w))==NULL) { printf(文件未成功打开!\n); exit(0); } for(; !feof(fp1); ) putchar(fgetc(fp1)); //s.txt内容显示在屏幕上 putchar(\n); rewind(fp1); //文件指针返回文件的开头 ch=fgetc(fp1); for(; ch!=EOF; ) { fputc(ch,fp2); //写到t.txt文件上 ch=fgetc(fp1); } fclose(fp1); fclose(fp2); } 运行结果,如图所示。 打开c:\file\t.txt文件,如图所示。 2、fseek函数 fseek函数的作用是使位置指针按需要移动到任意位置,能够实现随机读写。fseek函数一般用于二进制文件,因为文本文件要发生字符转换,计算位置时往往会发生混乱。该函数在“stdio.h”中定义。 该函数调用的一般形式为: fseek(fp,位移量,起始点); 其中:fp是文件指针;位移量是以“起始点”为基点,向前或向后移动的字节数;起始点“0”代表“文件开始”、“1”代表“当前位置”、“2”代表“文件末尾”。正常返回当前指针位置;异常返回“-1”表示定位出错。 例如: fseek(fp,100,0); 将位置指针移到离文件头100个字节处 fseek(fp,100,1); 将位置指针移到离当前位置100个字节处 fseek(fp,-100,2); 将位置指针从文件末尾处向后退100个字节 3、ftell函数 ftell函数的作用是得到文件指针的当前位置。该函数在“stdio.h”中定义。 该函数调用的一般形式为: ftell(fp); 其中:fp是文件指针。正常返回位移量;异常返回“-1”表示出错。 例如:
您可能关注的文档
- C#程序设计案例教程 王明福 源代码习题答案 第3章新.ppt
- C#程序设计案例教程 王明福 源代码习题答案 第4章新.ppt
- C#程序设计案例教程 王明福 源代码习题答案 第6章新.ppt
- C#程序设计案例教程 王明福 源代码习题答案 第7章新.ppt
- C#程序设计案例教程 王明福 源代码习题答案 第8章新.ppt
- C#程序设计案例教程 王明福 源代码习题答案 第9章新.ppt
- C语言程序设计 (第二版) 第2章 数据类型、运算符与表达式新.ppt
- C语言程序设计 (第二版) 第3章 C语言程序设计的三种基本结构新.ppt
- C语言程序设计 (第二版) 第4章 数组新.ppt
- C语言程序设计 (第二版) 第5章 函数新.ppt
文档评论(0)