(的OK)第11章 文件.ppt

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

第11章 将文件输入输出 11.1 C文件概述 文件是存储在外部介质(磁盘等)上的数据的集合。即:数据是以文件的形式存储在外部介质上的。 操作系统以文件为单位对数据进行管理;C语言中,文件以字符(字节)为单位对文件进行存取。(文件被看作是一个由字符(字节)组成的序列!也称“流式文件”) 文件的分类 按存储介质: 普通文件(磁盘文件):存储介质文件(磁盘、磁带等) 设备文件:非存储介质(键盘、显示器、打印机等) 按数据的组织形式: 文本文件: ASCII文件,每个字节存放一个字符的ASCII码 二进制文件:数据按其在内存中的存储形式原样存放 文件处理方法 缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区 非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区 11.2 文件类型指针 缓冲文件系统为每个正使用的文件在内存开辟文件信息区 文件信息用系统定义的名为FILE的结构体描述 该结构体类型是系统定义的,包含在stdio.h中,取名为FILE。 “文件指针”是保存文件系统具体信息的一个结构体类型变量。 如: typedef struct { int_fd; /*文件号*/ int_cleft; /*缓冲区中剩下的字符*/ int_mode; /*文件操作模式*/ char *_nextc; /*下一个字符位置*/ char_buff; /*文件缓冲区位置*/ }FILE; 文件类型指针 指针变量说明: FILE *fp; 用法: 文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件 文件关闭后,它的文件结构体被释放 11.3 文件的打开和关闭 对文件处理的一般过程: 打开文件-读/写文件-关闭文件 文件的打开(fopen函数) 文件的关闭(fclose函数) 文件的打开函数fopen( ): fopen()函数为编译系统提供以下信息: 需要打开的文件名 使用文件的方式(读还是写等) 让哪个指针变量指向被打开的文件 程序中,fopen()函数的调用形式: FILE *指针变量名; 指针变量名=fopen(文件名,使用方式); 功能:按指定方式打开文件 返值:正常打开,为指向文件结构体的指针;打开失败,返回0 使用文件方式及符号含义: 说明: (1)用“r”方式打开的文件只能用于向计算机输入,不能用作向文件输出数据,且该文件已经存在。 (2)用“W”方式打开的文件只能用于向该文件输出(写)数据,不能用来向计算机输入。若文件不存在,则建立新文件;若已存在,则打开时将删除原有数据,进行重新写入。 (3) 如不希望删除原有数据而只在文件末尾添加新数据,应该用“a”方式来打开该文件。 (4) 用“r+”、“w+”、“a+”方式打开的文件既可以输入也可以输出数据。 (5) 如果不能实现“打开”任务,fopen函数将返回空指针NULL(NULL在stdio.h文件中已被定义为0)。 系统自动打开和关闭三个标准文件: stdin:标准输入文件(只读),指向终端输入设备(键盘)。 stdout:标准输出文件(只写),指向终端输出设备(显示器)。 stderr:标准错误输出文件(读/写),指向终端输出设备(显示器)。 文件关闭fclose 作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针 fclose函数的调用形式: fclose(文件指针); 1、若执行fopen函数时发生错误,则函数的返回值是 A) 地址值 B) 0 C) 1 D) EOF 2、正常执行文件关闭操作时,fclose函数的返回值是 A) -1 B) TRUE C) 0 D) 1 11.4 文件的读写 (1)字符I/O: fputc与fgetc fputc 函数原型:int fputc(int c, FILE *fp) 功能:把一字节代码c写入fp指向的文件中 返值:正常,返回c;出错,为EOF (2)数据块I/O: fread与fwrite 函数原型: (3)格式化I/O: fprintf与fscanf 函数原型: 11.5 文件的定位 11.5 文件的定位 11.5 文件的定位 11.5 文件的定位 11.5 文件的定位 11.5 文件的定位 11.6 出错的检测 11.6 出错的检测 11.7 文件输入输出小结 11.7 文件输入输出小结 11.8 常见错误分析 (1)使用文件时忘记打开或打开方式与使用情况不匹配 11.8 常见错误分析 (2)在打开文件时,指定的文件名找不到 11.8 常见错误分析 (3)忘记关闭文件,虽然系统会自动关闭所用文件,但可能会丢失数据,因此必须在用完

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档