![《C语言程序设计》 课件 9.1 文件的基本知识_第1页](http://file4.renrendoc.com/view14/M08/04/04/wKhkGWYhLSuAShmrAADbvQb9KyY064.jpg)
![《C语言程序设计》 课件 9.1 文件的基本知识_第2页](http://file4.renrendoc.com/view14/M08/04/04/wKhkGWYhLSuAShmrAADbvQb9KyY0642.jpg)
![《C语言程序设计》 课件 9.1 文件的基本知识_第3页](http://file4.renrendoc.com/view14/M08/04/04/wKhkGWYhLSuAShmrAADbvQb9KyY0643.jpg)
![《C语言程序设计》 课件 9.1 文件的基本知识_第4页](http://file4.renrendoc.com/view14/M08/04/04/wKhkGWYhLSuAShmrAADbvQb9KyY0644.jpg)
![《C语言程序设计》 课件 9.1 文件的基本知识_第5页](http://file4.renrendoc.com/view14/M08/04/04/wKhkGWYhLSuAShmrAADbvQb9KyY0645.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C文件的基本知识C语言程序设计文件把输入和输出的数据以文件的形式保存在计算机的外存储器上,可以确保数据能随时使用,避免反复输入和读取数据。文件是指一组相关数据的有序集合。文件是存储数据的基本单位,可以通过读取文件访问数据。分类
可以按照不同角度对文件进行分类:按存储介质不同可以分为磁盘文件、磁带文件、打印文件等。按存储内容不同可以分为程序文件和数据文件。按访问方式不同可以分为顺序文件、随机文件和二进制文件。按用户不同可以分为普通文件和设备文件。1.从用户角度划分普通文件存储在磁盘或其他外部介质上的一个有序数据集合,如程序文件、数据文件等。设备文件将与主机相连的外部设备作为文件对待,把通过它们而进行的输入、输出等同于磁盘的读写操作。三个标准设备文件:标准输入文件(键盘)、标准输出文件(显示器)和标准错误信息文件(通常为显示器)。1.从文件编码方式划分ASCII文件以字符形式顺序保存每个字符的ASCII码值。二进制文件以二进制编码形式保存各数据,与数据在内存中的存储形式完全一致。例如:整数1234保存为ASCII文件(4个字节):00110001001100100011001100110100;保存为二进制文件为(2个字节):0000010011010010。1.从文件编码方式划分
例如:短整数968(0000001111001000B):如果按ASCII码的形式输出则占3个字节(每个字符占1个字节)而按二进制形式输出,则在磁盘上占2个字节。C语言文件分类C语言版本不同,对文件的处理方式也各有不同,主要有两种方法:一种是“缓冲文件系统”01一种是“非缓冲文件系统”02文件名D:\CC\temp\file1.dat
↓↓↓文件路径文件主干名文件后缀一个文件要有一个唯一的文件标识,以便用户识别和引用。文件标识包括3部分:(1)文件路径;(2)文件名主干;(3)文件后缀。文件路径表示文件在外部存储设备中的位置。文件名主干的命名规则遵循标识符的命名规则。文件后缀用来表示文件的性质。为方便起见,文件标识常被称为文件名,但应了解此时所称的文件名,实际上包括以上3部分内容,而不仅是文件名主干。根据数据的组织形式,数据文件可分为ASCII文件和二进制文件。数据在内存中是以二进制形式存储的,如果不加转换地输出到外存,就是二进制文件,可以认为它就是存储在内存的数据的映像,所以也称之为映像文件(imagefile)。如果要求在外存上以ASCII代码形式存储,则需要在存储前进行转换。ASCII文件又称文本文件(textfile),每一个字节存放一个字符的ASCII代码。字符一律以ASCII形式存储,数值型数据既可以用ASCII形式存储,也可以用二进制形式存储。用ASCII码形式输出时字节与字符一一对应,一个字节代表一个字符,因而便于对字符进行逐个处理,也便于输出字符。但一般占存储空间较多,而且要花费转换时间(二进制形式与ASCII码间的转换)。用二进制形式输出数值,可以节省外存空间和转换时间,把内存中的存储单元中的内容原封不动地输出到磁盘(或其他外部介质)上,此时每一个字节并不一定代表一个字符。文件的分类ASCII形式0011000100110000001100000011000000110000内存中存储形式(1)(0)(0)(0)(0)00000000000000000010011100010000二进制形式00000000000000000010011100010000ANSIC标准采用“缓冲文件系统”处理数据文件,所谓缓冲文件系统是指系统自动地在内存区为程序中每一个正在使用的文件开辟一个文件缓冲区。从内存向磁盘输出数据必须先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘去。如果从磁盘向计算机读入数据,则一次从磁盘文件将一批数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(给程序变量)。这样做是为了节省存取时间,提高效率,缓冲区的大小由各个具体的C编译系统确定。说明:每一个文件在内存中只有一个缓冲区,在向文件输出数据时,它就作为输出缓冲区,在从文件输入数据时,它就作为输入缓冲区。文件缓冲区输出文件缓冲区
程序数据区输入文件缓冲区
磁盘输出输入输出输入文件类型指针缓冲文件系统中,关键的概念是“文件类型指针”,简称“文件指针”。每个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息(如文件的名字、文件状态及文件当前位置等)。这些信息是保存在一个结构体变量中的。该结构体类型是由系统声明的,取名为FILE。typedefstruct{ shortlevel; //缓冲区“满”或“空”的程度
unsignedflags; //文件状态标志
charfd; //文件描述符
unsignedcharhold; //如缓冲区无内容不读取字符
shortbsize; //缓冲区的大小
unsignedchar*buffer; //数据缓冲区的位置
unsignedchar*curp; //文件位置标记指针当前的指向
unsignedistemp; //临时文件指示器
shorttoken; //用于有效性检查}FILE;一种C编译环境提供的stdio.h头文件中有以下的文件类型声明文件类型指针FILE*fp;//定义一个指向FILE类型数据的指针变量可以使fp指向某一个文件的文件信息区(是一个结构体变量),通过该文件信息区中的信息就能够访问该文件。也就是说,通过文件指针变量能够找到与它关联的文件。如果有n个文件,应设n个指针变量,分别指向n个FILE类型变量,以实现对n个文件的访问。为方便起见
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提高销售管理能力的培训课程
- 2025天津市农资买卖合同范文
- 家居装饰设计与施工方案
- 劳动合同知识产权保密条款
- 房屋中介买卖服务合同范本
- 2025《代理企业所得税年度纳税申报合同》(合同模版)
- 的买卖合同范本
- 社工劳动合同
- 2025工程外包合同模板
- 农业机械设备采购安装合同
- JTGT H21-2011 公路桥梁技术状况评定标准
- 卖花生混声合唱简谱
- 【永辉超市公司员工招聘问题及优化(12000字论文)】
- 柴油加氢装置知识培训课件
- 汽油安全技术说明书(MSDS)
- 中国直销发展四个阶段解析
- 2024届浙江省宁波市镇海区镇海中学高一物理第一学期期末质量检测试题含解析
- 部编版语文四年级下册 教材解读
- 《一次函数与方程、不等式》说课稿
- 动火作业安全管理要求及控制措施
- 诗豪刘禹锡一生部编教材PPT
评论
0/150
提交评论