- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件是存储在外部介质上数据的文件是存储在外部介质上数据的文件是存储在外部介质上数据的文件是存储在外部介质上数据的
集合集合
文件是存储在外部介质上数据的集合文件是存储在外部介质上数据的集合,是是
程序设计中一个重要的概念。操作系统以
文件为单位对数据进行管理文件为单位对数据进行管理。。
CC语言文件的输入和输出由库函数来完成语言文件的输入和输出由库函数来完成。
11、流和文件流和文件
CC语言把文件看作是语言把文件看作是一个字符的序列个字符的序列,即即
由一个个字符的数据流组成,一个文件是一
个字符流。在C语言中对文件的存取是以字
符为单位的,这种文件称为流式文件。
CC语言语言I/OI/O系统在编程者和使用设备之间提系统在编程者和使用设备之间提
供了一层抽象的东西。这个抽象的东西就叫
做做 ““流流””。具体的实际设备叫做具体的实际设备叫做 ““文件文件””
CC语言提供了语言提供了两种类型的流种类型的流 :文本流和文本流和二进进
制流。
•一个文本流是一行行的字符,换行符表示这一行的
结束。在一个文件流中某些字符的变换由环境工具
的需要来决定。
•一个二进制流是由与外围设备中的内容一一对应的一个二进制流是由与外围设备中的内容一一对应的
系列字节组成的。使用中没有字符翻译过程,而且所
读写的字节数目也与外设中的数目相同读写的字节数目也与外设中的数目相同。
用用一个打开操作使流和个打开操作使流和一个特定的文件建立个特定的文件建立
联系。一旦一个文件被打开,程序就可以与
该文件交换信息。
关闭操作使文件脱离一个特定的流。
对于对于一个打开的输出流个打开的输出流,关闭时则将与这个流关闭时则将与这个流
有关的缓冲区的内容写入到外围设备上。
每一个与文件相结合的流都有一个FILE型文
件控制结构,这个结构在头文件stdio.h 中
有定义有定义。。
2、标准设备文件
在在一个程序开始执行时个程序开始执行时,三个预定义的文本三个预定义的文本
流stdin,stdout 和stderr就被打开。它们是与
系统相连接的标准输入输出设备系统相连接的标准输入输出设备。
其中:
stdin指标准输入设备,即键盘;
stdtdoutt指标准输出设备指标准输出设备,即终端显示器即终端显示器;
stderr是标准出错输出设备,,一般是终端显
示器。
99..1 1 文件类型指针文件类型指针
文件结构指针是一个指向文件有关信息
的指针。
这些信息定义了文件的文件名这些信息定义了文件的文件名、、状态和状态和
当前位置。
在概念上文件结构指针标志着在概念上文件结构指针标志着一个指定个指定
的磁盘文件。
文件结构指针是一个FILE型指针变量,在
头文件stdio.h 中已定义如下:
typedef struct
{
short level;
unsigned flags;
char fd;
unsignedd chhar hholdld;
short bsize;
unsiignedd chhar *b*buffffer;
unsigned char *curp;
unsignedunsigned istempistemp;;
short token;
}} FILEFILE ;
例如定义一个文件型指针变量:
FILEFILE *ffp ;
说明:
fp就是一个指向FILE类型结构的指针变量,
通过该文件指针变量就可以找到它相关联的通过该文件指针变量就可以找到它相关联的
文件,从而对文件进行读写操作。
99..2 2 文件的打开与关闭文件的打开与关闭
CC语言规定对文件进行读写语言规定对文件进行读写
操作之前应该首先打开该文
件,在操作结束之后应关闭
该文件该文件。。
1.文件的打开fopen( )函数
ffopen(( ))函数打函数打开
文档评论(0)