- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第09章文件.ppt.ppt
第九章 文 件;在程序运行时,程序本身和数据一般都存放在内存中。当程序运行结束后,存放在内存中的数据被释放。
如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须以文件形式存储到外部存储介质上。; 1.文件与文件名 文件:是指存放在外部存储介质上的数据集合。
说明:每个文件都必须有一个文件名。
格式:主文件名[.扩展名] 文件命名规则:遵循操作系统的约定。
2.文件分类
(1)根据文件的内容分
.程序文件 ..源文件
..目标文件
..可执行文件
.数据文件
(2)根据文件的组织形式分
.顺序存取文件 .随机存取文件。;(3)根据文件的存储形式分
.ASCII码文件
说明:ASCII码文件的每1个字节存储1个字符,
对字符进行逐个处理。占用存储空间较
多,而且要花费转换时间(二进制与
ASCII码之间的转换)。
.二进制文件
说明:二进制文件是把内存中的数据,原样输出
到磁盘文件中。可以节省存储空间和转换
时间,但1个字节并不对应1个字符,不能
直接输出字符形式。;3.读文件与写文件
读文件:将磁盘文件中的数据传送到计算机内存
的操作。
写文件:从计算机内存向磁盘文件中传送数据的
操作。
4.构成文件的基本单元与流式文件
在其它高级语言中,组成文件的基本单位是记录,对文件操作的基本单位也是记录。
C语言将文件看作是由一个一个的字符(ASCII码文件)或字节(二进制文件)组成的。将这种文件称为流式文件。
;5.文件类型FILE
系统给每个打开的文件都在内存中开辟一个区域,用于存放文件的有关信息(如文件名、文件位置等)。这些信息保存在一个结构类型变量中,该结构类型由系统定义、取名为FILE。
注意:结构类型名“FILE”必须大写。
6.ANSI C的缓冲文件系统
缓冲文件系统:指系统自动地在内存区为每个正在
使用的文件开辟一个缓冲区。
说明:
?从内存向磁盘输出数据时,必须首先输出到缓冲区中。待缓冲区装满后,再一起输出到磁盘文件中。
?从磁盘文件向内存读入数据时,首先将数据读入到缓冲区中,再从缓冲区中将数据逐个送到程序数据区。;9.2 文件的打开与关闭;说明:
(1)“文件名”是指要打开(或创建)的文件名。若使用字符数组(或字符指
针),则不使用双引号。
(2)“操作方式”如下表所示。
文件使用方式 意 义
“rt” 只读打开一个文本文件,只允许读数据
“wt” 只写打开或建立一个文本文件,只允许写数据
“at” 追加打开一个文本文件,并在文件末尾写数据
“rb” 只读打开一个二进制文件,只允许读数据
“wb” 只写打开或建立一个二进制文件,只允许写数据
“ab” 追加打开一个二进制文件,并在文件末尾写数据
“rt+” 读写打开一个文本文件,允许读和写
“wt+” 读写打开或建立一个文本文件,允许读写
“at+” 读写打开一个文本文件,允许读,或在文件末追加数据
“rb+” 读写打开一个二进制文件,允许读和写
“wb+” 读写打开或建立一个二进制文件,允许读和写
“ab+” 读写打开一个二进制文件,允许读,或在文件末追加数据 ; 例如:FILE *fp;
fp=fopen(data.99,r);
(3)如果不能实现打开指定文件的操作,则fopen()
函数返回一个空指针NULL(其值在头文件stdio.h
中被定义为0)。
(4)“r(b)+”与“a(b)+”的区别:使用前者打开文
件时,读写位置指针指向文件头;使用后者时,
读写指针指向文件尾。
(5)使用文本文件向计算机系统输入数据时,系统自
动将回车换行符转换成一个换行符;在输出时,
将换行符转换成回车和换行两个字符。使用二进制
文件时,内存中的数据形式与数据文件中的形式完全一样,
就不再进行转换。 ;(6)有些C编译系统,可能并不完全提供上述
对文件的操作方式,或采用的表示符号不
同,请注意所使用系统的规定。
(7)在程序开始运行时,系统自动打开三个标
文档评论(0)