《C语言程序设计》第9讲 文件.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 文 件 Chap.9 File 9.1 文件的概念 文件的操作过程与文件指针 文件读写的方式 9.2 文件的打开与关闭 文件的读写方式说明: ⒉文件的关闭 fclose函数 9.3 文件的顺序读写 举例:将一个磁盘文件中的内容复制到另一个文件中。 ⒉文件的字符串的输入和输出函数 举例:从文件中输入字符串,并打印其内容。 ⒊文件的格式化输入和输出函数 fp文件指针 format ,格式说明字符串,取%d、%x、%f、%c等;说明输入转化的格式。 arg1…argn,接收输入变量的地址列表。 例:从text.txt中读字符串和一个十进制数,输出到显示器。 ⑵格式化输出函数 fprintf fp文件指针; format ,格式说明字符串,取%d、%x、%f、%c等;说明输出转化的格式。 arg1…argn,输出量列表。 ⒋文件的数据块输入输出函数 buf(空类型指针)接收数据的地址; size(整型)一次读取数据的字节数; count(整型)读取次数; fp对应输入文件的文件指针。 ⑵fwrite函数 buf(空类型指针)数据的地址; size(整型)一次输出数据的字节数; count(整型)输出次数; fp对应输出文件的文件指针。 举例: 5.整数输入输出函数——getw函数和putw函数 9.4 文件的随机读写与定位 ⑵改变文件指针的当前位置 fseek函数 fp文件指针; offset(long int),以from为起点移动的偏移量; from为移动的起始位置。 举例:已知30 个学生的一门课的分数,打印 学号为单号学生的分数。 9.5 文件的错误检测 举例: 9.6 文件程序设计应用 以上的所有文件的读写都是顺序的,完成一次读写操作后,文 件的记录位置自动指向下一位置,因而称为顺序的流式文件。用户 想使用任意的读写 位置,可以通过定位函数实现。 ⒈取文件当前位置 ftell函数 long n; … n=ftell(fp); 含义:取文件的当前的读写位置(从文件头到当前的字节数)。 返回值(long): 调用正确,返回当前位置域文件都相差的字节数; 调用错误,返回 -1L。 使用方法: fseek( fp , offset , from) ; from 在stdio.h中定义了如下常量: 文件尾 SEEK_END 2 当前位置 SEEK_CUR 1 文件头 SEEK_SET 0 位置 常量符号 值 fseek( fp , 50L, SEEK_SET) fp对应文件的当前位置移到文件头50字节处。 ⑶置文件于开头位置 rewind( ) 函数 使用方法: rewind(fp); /* example 9-8 文件的随机读写 */ #includestdio.h #includestdlib.h void main(void) { int i; int score; FILE *fin; /* 定义文件指针 */ if((fin=fopen(f11.txt,r)) == NULL)/* 以读方式打开文件 */ { printf(File open error!\n);exit(1); } for(i=0;i10;i++) { fscanf(fin,%d,score); /* 读源文件中的数据 */ 【例9-8】已知数据文件f11.txt中含有10个整型数据,依次读出数据显示在屏幕上,再将下标为奇数的数据读出显示在屏幕上。 printf(“%d,”,score); /* 显示在屏幕上 */ } rewind(fin); /* 将文件指针定位在首部 */ printf(\n); for(i=0;i5;i++) /* 读源文件中的数据 */ { fseek(fin,sizeof(int),1); /* 将文件指针向后移动 */ fscanf(fin,%d,score); printf(“ %d, ”,score); /* 显示在屏幕上 */ } if(fclose(fin))

文档评论(0)

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

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

1亿VIP精品文档

相关文档