网站大量收购闲置独家精品文档,联系QQ:2885784924

第十二章 文件5.ppt

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

第十二章 文件 文件基本概念 文件打开与关闭 文件读写 12.1 C文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位。 文件分类 按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 按存储介质: 普通文件:存储介质文件(磁盘、磁带等) 设备文件:非存储介质(键盘、显示器、打印机等) 按数据的组织形式: 文本文件: ASCII文件,每个字节存放一个字符的ASCII码 二进制文件:数据按其在内存中的存储形式原样存放 EOF——文件的结束符: C语言中规定的标准文件有三个: 标准输入文件(键盘),文件指针为stdin; 标准输出文件(显示屏幕),文件指针为stdout; 标准出错输出文件,文件指针为stderr。 12.2 文件类型指针 文件结构体FILE 缓冲文件系统为每个正使用的文件在内存开辟文件信息区 文件信息用系统定义的名为FILE的结构体描述 FILE定义在stdio.h中 文件类型指针 指针变量说明: FILE *fp; 用法: 文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件 文件关闭后,它的文件结构体被释放 12.3 文件的打开与关闭 一般文件:操作前需打开,操作后需关闭。打开和关闭均是通过库函数进行的。 打开文件就是要在内存中建立缓冲区,如打开成功,打开函数返回一个内存地址值,由一个文件指针接收。以后的操作使用这个指针。如内存不可建立缓冲区,则打开失败,打开函数返回NULL。 关闭文件很重要,是要将文件送回磁盘,并从内存中清除。及时释放内存空间,并可保证文件安全。 文件使用方式:打开文件--文件读/写--关闭文件 打开文件fopen 函数原型: FILE *fopen(char *name, char *mode); 文件关闭fclose 函数原型:int fclose(FILE *fp); 12.4 文件的读写 字符I/O:fputc与fgetc fputc 函数原型:int fputc(char c, FILE *fp); 功能:把一字节代码c写入fp指向的文件中 返值:正常,返回c;出错,返回非0 fgetc 函数原型:int fgetc(FILE *fp); 功能:从fp指向的文件中读取一字节代码 返值:正常,返回读到的字符;读到文件尾或出错,为EOF 数据块I/O:fread与fwrite 函数原型: 格式化I/O:fprintf与fscanf 函数原型: 本章小结 C系统把文件当作一个“流”,按字节进行处理。 C文件按编码方式分为二进制文件和ASCII文件。 C语言中,用文件指针标识文件,当一个文件被 打开时, 取得该文件指针。 文件在读写之前必须打开,读写结束必须关闭。 文件可按只读、只写、读写、追加四种操作方式打开,同时还必须指定文件的类型是二进制文件还是文本文件。 文件可按字节,字符串,数据块为单位读写,文件也可按指定的格式进行读写。 文件内部的位置指针可指示当前的读写位置,移动该指针可以对文件实现随机读写。 * * 使用数据文件的目的: 1、数据文件的改动不引起程序的改动——程序与 数据分离; 2、不同程序可以访问同一数据文件中的数据——数据共享; 3、能长期保存程序运行的中间数据或结果数据。 C语言中的文件为流式文件——一个字节流或二进制流。 文件的读写是按顺序进行的,以字符(字节)为单位。 这些文件在操作前或后,系统会自动将其打开或关闭,程序不需管。 如:int型数10000 0010011100010000 内存存储形式 0010011100010000 二进制形式 0011000100110000001100000011000000110000 ASCII形式 文本文件特点: 存储量大、速度慢、便于对字符操作 二进制文件特点: 存储量小、速度快、便于存放中间结果, 可节省外存空间和转换时间但不能直接输出字符 typedef struct { int _fd; /*文件号*/ int _cleft; /*缓冲区中剩下的字符数*/ int _mode; /*文件操作方式*/ char *_next; /*文件当前读写位置*/ char *_buff; /*文件缓冲区位置*/ } FILE; 文件名 文件使用 方式 文件类型指针 C程序 操作系统 磁盘 功能:按指定方式打开文件 返值:正常打开,为指向文件结构体的指针;打开失败,为NULL 要打开的文件名 使用文件方式 例:文件打开与测试 FILE *fp;

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档