- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京石油化工学院 北京石油化工学院 北京石油化工学院 * 第10章 文件 程序中如何获得数据? 程序的运行结果存在何处? 一个程序的运行结果做另一个程序的输入数据 程序 初始化 赋值语句 键盘输入 格式输入 字符输入 字符串输入 内存 外存 格式输出 字符输出 字符串输出 内存 外存 文件的概念 从文件中读数据 向文件中写数据 三 、文件的处理形式 缓冲文件系统:磁盘-缓冲区-程序数据 非缓冲文件系统:程序根据需要分配空间 现在统一使用缓冲文件系统 程 序 数 据 区 输出文件缓冲区 输入文件缓冲区 磁 盘 系统自动地在内存中为每一个打开的文件建立一个缓冲区,文件的存取都通过缓冲区进行 512字节 FILE 存放文件 有关信息 缓冲文件系统可以处理两种不同的文件 (ASCII)文本文件 二进制文件 四、文件的存储方式 二进制文件:将数据按内存中的存储形式输出到磁盘上 ASCII文件: 文本文件,按字符处理,每个字符占一个字节 例如:102400110000 ASCII码 1 0 2 4 内存形式 整型数 1024 外存形式 转换 直接 二进制文件 文本文件 1. 创建一个新文件 2. 删除一个旧文件 3. 对文件中的数据进行读,写操作 4. 对文件进行按名访问 5. 对存放文件的空间进行管理 6. 限定文件的使用权限 文件型指针 一个文件系统的功能 C对文件的管理是通过一个文件型指针实现的 操作步骤 1. 测试文件存在或新建 2.打开文件(将文件从外存调到内存) 3. 对文件的操作,通过库函数实现 4. 关闭文件(将文件清除内存) 文件型指针是一个由系统定义的具有固定结构的 结构类型变量,用于存放文件的有关信息 一、定义: FILE * 文件指针名 二、 功能: 通过文件指针实现对文件的访问 三、过程:在读写文件之前,首先用系统库函数fopen()将指定文件打开,接受文件的外部名,通过操作系统,返回文件的内部名,然后通过文件的内部名进行读,写操作,其中,文件的内部名就是文件指针,最后,操作结束,将文件关闭 C通过结构变量FILE对文件管理,每一个文件对应的流的控制信息集中在FILE型的结构变量中 typedef struct {unsigned flags; /*文件状态标志 */ int -fd; /*文件号*/ int -cleft; /*缓冲区剩下的字符*/ int -mode; /*文件操作模式*/ char *-nextc; /*下一个字符位置*/ char -buff; /*文件缓冲区位置*/ }FILE; 用FILE结构体类型可定义数组、变量、指针 例:FILE xs[30], a,b, *fp; FILE结构如下: 文件指针是一个指向FILE的 指针 FILE *fp; fp代表了数据流,称为文件指针变量 C中所有的I/O函数都是通过文件指针存取数据流(文件)的数据 定义在stdio.h中 文件必须打开后才能使用 通过文件指针打开文件 文件的打开与关闭 一、文件打开函数 1. 先定义一个文件指针 FILE *fp; 2 .功能:打开文件的过程是系统为文件分配一个缓冲区,建立一个文件内部名,返回一个指向该文件的指针 例:fp=fopen(“file.dat”,”r”); 文件指针名=fopen(文件名,文件的操作方式) (1)文件名 (2)文件的操作形式 (3)哪个指针指向被打开的文件 fp=fopen(“file.dat”,”r”); 含义 * 打开文件名为file.dat文件 * fopen函数带回一个指向 file.dat文件的指针,并将其赋给文件型指针 * 文件型指针指向文件file.dat 当系统使用fopen函数时,编译系统会知道 3.文件的使用方式: “r”从文件中向计算机中读数据 “w”从计算机中向文件中写数据 “a”从当前打开的文件的结尾追加新数据 4 说明: (1) 使用 r 时,被打开的文件必须存在 (2) 使用 w 时,如文件名是新的,则新建一个文件,如文件名已存在,则覆盖原来内容 ( 3 ) 打不开的情况: * 使用r,文件不存在 * 使用 w,磁盘已满,或磁盘损坏 此时, fopen()函数返回一个NULL 在 stdio.h中,指定NULL的值为0 (4)指定文件名时可以有路径,
您可能关注的文档
- bosch服务运营管理课程分享终教案分析.ppt
- BOSCH公司内部培训手册教案分析.doc
- Bossail邮件系统解决方案教案分析.doc
- BOSS系统介绍教案分析.ppt
- BOS最佳入门整体介绍教案分析.ppt
- BOT高速公路项目风险完整毕业论文教案分析.doc
- BOT模式教案分析.ppt
- BOT模式应用于港口建设的风险管理研究教案分析.doc
- BOT融资模式教案分析.ppt
- BOT投资方式教案分析.ppt
- 功能设计_MM_MM015_报废单_20080109_v2.0.doc
- 功能设计_MM_MM021_采购订单批导入程序_20080108_v1.0.doc
- 功能设计_MM_MM020_出库单_20071205_v2.1.doc
- 功能设计_MM_MM019_入库单_20071205_v2.1.doc
- 功能设计_MM_MM018_领料单_20080114_v2.0.doc
- 功能设计_MM_MM016_ERP与招投标系统接口_20080327_v1.2.doc
- 功能设计_MM_MM014_退库单_20080109_v1.0.doc
- 功能设计_MM_MM013_物料盘点清单_20080114_v2.0.doc
- 中考数学知识点10 一元一次不等式(组)(2).pdf
- 七年级数学优质课公开课教案教学设计期中综合检测.pdf
文档评论(0)