- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 主要内容 C文件概述 文件类型指针 文件的打开和关闭 文件的读写 文件的定位 出错的检测 文件输入输出小结 11.1 C文件概述 文件(file)是程序设计中一个重要的概念。所谓“文件”一般指存储在外部介质上数据的集合。一批数据是以文件的形式存放在外部介质(如磁盘)上的。操作系统是以文件为单位对数据进行管理的,也就是说,如果想找存在于外部介质上的数据,必须先按文件名找到所指定的文件,然后再从该文件中读取数据。要向外部介质上存储数据也必须先建立一个文件(以文件名标识),才能向它输出数据。 11.1 C文件概述 以前各章中所用到的输入和输出,都是以终端键盘输入数据,运行结果输出到终端上。从操作系统的角度看,每一个与主机相连的输入输出设备都看作是一个文件。例如,终端键盘是输入文件,显示屏和打印机是输出文件。 在程序运行时,常常需要将一些数据(运行的最终结果或中间数据)输出到磁盘上存放起来,以后需要时再从磁盘中输入到计算机内存。这就是要用到磁盘文件。 11.1 C文件概述 C语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为ASCII文件和二进制文件。ASCII文件又称文本(text)文件,它的每一个字节放一个ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。如果有一个整数10000,在内存中占2个字节,如果按ASCII码形式输出,则占5个字节,而按二进制形式输出,在磁盘上只占2个字节,如图11-1所示。用ASCII码形式输出与字符一一对应,一个字节代表一个字符,因而便于对字符进行逐个处理,也便于输出字符。但一般占存储空间较多,而且要花费转换时间(二进制形式与ASCII码间的转换)。用二进制形式输出数值,可以节省外存空间和转换时间,但一个字节并不对应一个字符,不能直接输出字符形式。一般中间结果数据需要暂时保存在外存上以后又需要输入到内存的,常用二进制文件保存。 11.2 文件类型指针 缓冲文件系统中,关键的概念是“文件指针”。每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息(如文件的名字、文件状态及文件当前位置等)。这些信息是保存在一个结构体变量中的。该结构体类型是由系统定义的,取名为FILE。Turbo C在stdio.h文件中有以下的文件类型声明。 11.2 文件类型指针 typedef struct {short level; /*缓冲区“满”或“空”的程度*/ unsigned flags; /*文件状态标志*/ char fd; /*文件描述符*/ unsigned char hold; /*如无缓冲区不读取字符*/ short bsize; /*缓冲区的大小*/ unsigned char *buffer; /*数据缓冲区的位置*/ unsigned ar *curp; /*指针,当前的指向*/ unsigned istemp; /*临时文件,指示器*/ short token; /*用于有效性检查*/ }FILE; 11.2 文件类型指针 有了结构体FILE类型之后,可以用它来定义若干个 FILE类型的变量,以便存放若干个文件的信息。例 如,可以定义以下FILE类型的数组。 FILE f[5]; 定义了一个结构体数组f,它有5个元素,可以用来 存放5个文件的信息。 可以定义文件型指针变量,如: FILE *fp; 11.2 文件类型指针 fp是一个指向FILE类型结构体的指针变量。可以使fp指向某一个文件的结构体变量,从而通过该结构体变量中的文件信息能够访问该文件。也就是说,通过文件指针变量能够找到与它相关的文件。如果有n个文件,一般应设n个指针变量(指向FILE类型结构体的指针变量),使它们分别指向n个文件(确切地说指向存放该文件信息的结构体变量),以实现对文件的访问。 11.3 文件的打开和关闭 文件的打开(fopen函数) 文件的关闭(fclose函数) 11.3.1 文件的打开(fopen函数) ANSI C规定了标准输入输出函数库,用fopen函数来实现文 件的打开。fopen函数的调用方式通常为: FILE *fp; fp=fopen(文件名,使用文件方式); 例如: fp=fopen(a1,r); 它表示要打开名字为a1的文件,使用文件方式为“读入”(r代表read,即读入),fopen函数带回指向a1文件的指针并赋给fp,这样fp就和文件a1相联系了,或者说,fp指向a1文
您可能关注的文档
最近下载
- 心理卫生与心理咨询填空题.doc VIP
- 2023高考英语复习之高频词长难句练习2 全国乙卷七选五(解析版).pdf VIP
- 【高中化学】13个知识点的易错集锦.pdf VIP
- 现场签证单表格.docx VIP
- 中央财经大学后勤处、后勤服务产业集团 全员聘用管理暂行办法.doc VIP
- 2025中央财经大学后勤服务产业集团工程管理岗招聘1人(非事业编制)笔试备考试题及答案解析.docx VIP
- 必威体育精装版国家开放大学国开电大《离散数学》形考任务+大作业答案.pdf VIP
- 现场签证单表格优质资料.doc VIP
- 24J331地沟及盖板参考图集.docx
- 汽车维修清单表(含使用说明).docx VIP
文档评论(0)