第10章文件学案.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 文件 10. 1 C文件概述 10. 2 文件的打开与关闭 10. 3 文件的输入/出操作 10. 4 文件的定位与随机读写 本章要点 文件的分类和定义形式 常用函数: 打开、关闭文件 输入/出函数 10. 1. 1文件分类 从不同的角度可对文件作不同的分类: 1、从用户的角度看,文件可分为普通文件和设备文件两种: 普通文件是指驻留在磁盘或其它外部介质上的一个有序数据集, 设备文件是指与主机相联的各种外部设备,如显示器、打印机、键盘等。 2、从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种; ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。 二进制文件是按二进制的编码方式来存放文件的。 10.1.2文件类型指针 在C语言中用一个指针变量指向一个文件, 这个指针称为文件指针。通过文件指针就可对它所指的文件进行各种操作。 定义说明文件指针的一般形式为: FILE * 指针变量标识符; 10.2 文件的打开与关闭 文件在进行读写操作之前要先打开,使用完毕要关闭。 所谓打开文件,实际上是建立文件的各种有关信息, 并使文件指针指向该文件,以便进行其它操作。关闭文件则断开指针与文件之间的联系,也就禁止再对该文件进行操作。 10.2.1文件的打开(fopen函数) fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) 说明: “文件指针名”必须是被说明为FILE 类型的指针变量,“文件名”是被打开文件的文件名。 “使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。若文件能正确打开,则返回一个指向“文件型”的指针送给文件指针变量,用户可以利用该指针变量对文件进行读、写操作。若打开文件时出现错误,则返回值为NULL。 例如: FILE *fp; fp=(file a,r); 其意义是在当前目录下打开文件file a, 只允许进行“读”操作,并使fp指向该文件。 又如: FILE *fq fq=(c:\\hzk16,rb) 其意义是打开C驱动器磁盘的根目录下的文件hzk16, 这是一个二进制文件,只允许按二进制方式进行读操作。两个反斜线“\\ ”中的第一个表示转义字符,第二个表示根目录。 文件的打开方式可以是下列字符串之一: “r” 打开一个已经存在的文本文件,只能读取数据。 “w” 打开一个文本文件,只能写入数据。 若文件不存在,则自动建立一个新文件接受写入的数据; 若文件存在,则删除文件中原有内容,并接受写入的数据(覆盖)。 “a” 打开一个已经存在的文本文件,只能写入数据并且追加在 文件的尾部。 “r+” 打开一个已经存在的文本文件,可以读取数据,也可以写入数据。 “w+” 打开一个文本文件,可以读取数据,也可以写入数据。 若文件不存在,则自动建立一个新文件接受写入的数据; 若文件存在,则删除文件中原有内容,并接受写入的数据(覆盖)。 (3)无论是哪种使用方式,当打开文件时出现了错误,fopen函数都将返回NULL。为了保证在程序中使用正确的打开文件,需要使用以下程序段。 if(fp=fopen(“file1.dat”,“r”))==NULL) { printf(“Cannot open this file!\n); exit(0); } 当打开的文件发生错误时,便停止程序运行。 Fclose()函数用来关闭一个由fopen()函数打开的文件,其调用的一般形式为: int fclose(FILE *stream); 该函数返回一个整型数。当文件关闭成功是,返回0,否则返回一个非零值。 可以根据函数的返回值判断文件是否关闭成功。 10.3 文件的输入/出操作 对文件的打开、输入/出操作和关闭的三个步骤中输入/出操作可以通过系统标准库函数来完成。这些库函数的声明均包含在头文件“stdio.h”中。 对于fgetc函数的使用有以下几点说明: 1. 在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。 2. 读取字符的结果也可以不向字符变量赋值,例如:fgetc(fp);但是读出的字符不能保存。 3. 在文件内部有一个位置指针。用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc 函数后, 该位置指针将向后移动一个字节。 因此可连续多次使用fgetc函数,读取多个字符。 应注意文件指针和文件内部的位置指针不是一回事。文件指

文档评论(0)

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

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

1亿VIP精品文档

相关文档