(ppt)第13章 文件的基本操作.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(ppt)第13章 文件的基本操作

例: #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( )可以达到同一个目的。 §13.6 文件的随机读写 前面介绍的几种对文件的读写都是顺序读写。 问题的产生:要求打开文件后,对指定位置上的数据进行读写操作,减少一些不心要的中间环节。 解决的办法:把文件指针移到指定的位置即可。 关键步骤:文件的定位。 文件的基本操作 §13.1 文件的基本概念 文件有多种分类,如: 按文件的内容区分:源程序,图形文件、音频文件、数据文件等等。 按数据的组织形式分:文本文件、二进制文件 C语言可以对文本文件和二进制文件进行读写操作。 §13.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. 格式化读写一个记录(块): fread( ); fwrite( ); §13.3 文件类型指针 若要调用文件,系统要求提供以下信息: ? 文件当前的读写位置; ? 与文件对应的内存缓冲区地址; ? 缓冲区中未被处理的字符数; ? 文件的操作方式。 对标准I/O,系统会在内存为每一个文件开辟一个“文件信息区”,存放上面的信息。 特别指出: ? 对文件操作所需的“文件信息”是一结构体变量,且该结构体变量由系统定义 定义形式: typedef struct { ? } FILE; 存放文件信息 ? 用户只需定义指向文件类型的指针变量即可。 如: FILE *fp1, *fp2; §13.4 文件的打开与关闭 一、文件打开 使用fopen( )函数。 调用方式:fopen(文件名,文件操作方式); 返回一个指向该文件的指针或错误标志NULL。 文件操作方式: r ? 以只读方式打开一个文本文件 w ? 以只写方式打开一个文本文件 a ? 以追加方式打开一个文本文件 r+ ? 以读/写方式打开一个文本文件 w+ ? 以读/写方式建立一个新的文本文件 a+ ? 以读/写方式打开一个文本文件 rb ? 以只读方式打开一个二进制文件 wb ? 以只写方式打开一个二进制文件 ab ? 以追加方式打开一个二进制文件 rb+ ? 以读/写方式打开一个二进制文件 wb+ ?以读/写方式建立一个新的二进制文件 ab+ ?以读/写方式打开一个二进制文件 特别说明: 并不是所有的C语言系统都具备以上文件操作方式。 例: #include stdio.h main() { FILE *p; p=fopen(“test.txt”, “r”); if (p==NULL) { printf(“file open error”); exit(0); } printf(file open ok); } 关注的问题: ? 文件“test.txt”所在位置如何? ? 在程序结束之前并没有关闭被打开的文件,文件会不会遭到破坏? ? 文件test.txt的内容是什么? C语言规定:fopen()函数中的文件名可以是当前工作目录(相对路径)下的也可以是指定路径(绝对路径)下的。 如

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档