第11章文件概述.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
引子 ASCII文件和二进制文件 顺序存取 随机存取 文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位 文件处理方法 缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区 非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区 从磁盘文件中读写数据如图所示 文件指针 指向FILE类型结构的指针变量。在stdio.h头文件中定义了该结构类型,如下图所示 定义形式 FILE *指针变量名; 如 FILE *fp; 通过fp即可找到存放某个文件信息的结构变量,然后通过结构变量提供的信息找到该文件,实施对文件的操作。 文件位置指针 是一个形象化的概念,是用来标识被打开文件的读写位置的,它指向当前文件的读写位置 文件指针和文件位置指针的区别如下 文件指针用来指向文件,使用之前必须在程序中定义说明 文件位置指针用来指向当前读或写的位置,它随着对该文件读写操作的进行而不断移动,还可以通过定位函数fseek来改变读写指针的位置 文件打开函数 使用fopen函数打开文件,其调用格式 int fopen(文件名,打开文件方式); 其中,参数“文件名”是指文件的全名称,包括路径和文件名两部分,可以是字符串常量或字符串数组,打开方式如表所示 fopen函数的返回值是一个FILE类型的文件指针,若打开文件成功,该指针将指向相应的文件信息区。如果文件打开失败,它将返回一个空指针值NULL。 说明:当程序开始运行时,系统将自动打开三个文件,这三个文件分别是标准输入文件、标准输出文件和标准出错文件,在stdio.h头文件中已进行说明,并规定它们相应的文件指针为stdin、stdout、stderr。通常,stdin与键盘联接、stdout和stderr与终端屏幕连接。 常见程序形式如 文件关闭函数 文件不再使用时,应及时关闭它 函数原型:int fclose(FILE *fp); 例如:fclose(fp); 说明:执行此关闭操作后,可以重新分配fp去指向其他文件。当fclose函数正常关闭时将返回0值,否则返回EOF 例如 读写一个字符的函数 字符读函数fgetc 一般调用格式 fgetc(fp); 其中fp是由fopen函数返回的文件指针,fgetc函数读取fp所指文件的一个字符,若读取成功,返回该字符,若遇到文件尾时返回EOF。 如果处理的是二进制文件,则不能使用上述方法。这是因为二进制文件中可能会出现-1这样的值,所以不能用EOF作为文件结束标志,应使用feof函数进行判断。feof函数调用格式是:feof(fp). 在顺序读取一个二进制文件中的数据时,如 字符写函数fputc 一般调用格式: fputc(c,fp); 其中c是要写的字符,可以是字符常量,也可以是字符变量;fp是文件指针。该函数的作用是将字符c写到文件指针fp所指向的文件中。fputc函数调用成功,就返回被输出的字符,否则返回EOF。 例如 块读写函数 二进制文件读写 fread函数 一般调用格式是:fread(buffer,size,count,fp); buffer是一个内存区域的首地址;size是每次读入的字节数;count是要读入的次数;fp是文件指针。该函数的功能是从fp指定的文件中读取count次,每次size个字节,存到buffer为首地址的内存区域中。 fwrite函数 一般调用格式是:fwrite(buffer,size,count,fp); buffer是要输出数据在内存中存放的首地址;size是每次输出到文件中的字节数;count是要输出的次数;fp是文件指针。它的功能是将从buffer为首地址的内存中取出count次数据块,每次size个字节,写入fp所指的磁盘文件中,如果函数调用成功,则返回实际写入的数据块个数。 例如:将四个学生的学号及成绩,存到磁盘上并验证是否正确。 格式化文件读写 fscanf函数 一般调用格式: fscanf(文件指针,格式字符串,地址参数表列); 例如:fscanf(fp,%f,%d,a,b); fprintf函数 一般调用格式 fprintf(文件指针,格式字符串,输出项表列); 例如:fprintf(fp,“%d,%.2f”,i,f); 例如:生成文件list.dat,以“单价 数量”格式存放某商场商品数据,其总金额存放在list.dat文件的最后一行。 其他读写函数 磁盘文件读写函数 函数putw和getw可以用来对磁盘文件读写一个字(整数)。 例如: putw(10,fp); 作用是将整数10输出到fp指向的文件 例如: i=getw(fp); 作用是从磁盘文件读一个整数到内存,赋给整型变量i。

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档