清华大学出版社 TSINGHUA UNIVERSITY PRESS §1310文件概述(续) 文件的分类 按数据的组织形式: ASCI文件文本文件)每一个字节放一个ASC代码 二进制文件:把内存中的数据按其在内存中的存储形 式原样输出到磁盘上存放. 例:整数10000在内存中的存储形式以及分别按ASCI 码形式和二进制形式输出如下图所示 ASCI形式 内存中 001100010011000000110000001100000110000 存储形式 (1) (0) (0) (0) 0010011100010000 进制形式 0010011100010000
文件的分类 •按数据的组织形式: ASCII文件(文本文件):每一个字节放一个ASCII代码 二进制文件:把内存中的数据按其在内存中的存储形 式原样输出到磁盘上存放. 例:整数10000在内存中的存储形式以及分别按ASCII 码形式和二进制形式输出如下图所示: §13.1 C文件概述(续)
清华大学出版社 TSINGHUA UNIVERSITY PRESS §1310文件概述(续) 文件的分类 ASCI文件和二进制文件的比较 ASCI文件便于对字符迸行逐个处理,也便于输出 字符。但一般占存储空间较多,而且要花费转换时 间。 二进制文件可以节省外存空间和转换时间,但一个 字节并不对应一个字符,不能直接输出字符形式。 一般中间结果数据需要暂时保存在外存上,以后又 需要输入内存的,常用二进制文件保存
§13.1 C文件概述(续) 文件的分类 ASCII文件和二进制文件的比较: ASCII文件便于对字符进行逐个处理,也便于输出 字符。但一般占存储空间较多,而且要花费转换时 间。 二进制文件可以节省外存空间和转换时间,但一个 字节并不对应一个字符,不能直接输出字符形式。 一般中间结果数据需要暂时保存在外存上,以后又 需要输入内存的,常用二进制文件保存
清华大学出版社 TSINGHUA UNIVERSITY PRESS §1310文件概述(续) 文件的分类 C语言对文件的处理方法 缓冲文件系统:系统自动地在内存区为每一个正 在使用的文件开辟一个缓冲区。用缓冲文件系统 进行的输入输出又称为高级磁盘输入输岀。 非缓冲文件系统:系统不自动开辟确定大小的缓 冲区,而由程序为每个文件设定缓冲区。用非缓 冲文件系统进行的输入输出又称为低级输入输出 系统
§13.1 C文件概述(续) 文件的分类 •C语言对文件的处理方法: 缓冲文件系统:系统自动地在内存区为每一个正 在使用的文件开辟一个缓冲区。用缓冲文件系统 进行的输入输出又称为高级磁盘输入输出。 非缓冲文件系统:系统不自动开辟确定大小的缓 冲区,而由程序为每个文件设定缓冲区。用非缓 冲文件系统进行的输入输出又称为低级输入输出 系统
清华大学出版社 TSINGHUA UNIVERSITY PRESS §131c文件概述(续) 说明 在∪NⅨ系统下用缓冲文件系统来处理文本文件, 用非缓冲文件系统来处理二进制文件. ANSI C标准只采用缓冲文件系统来处理文本文 件和二进制文件 C语言中对文件的读写都是用库函数来实现
§13.1 C文件概述(续) 说明: 在UNIX系统下,用缓冲文件系统来处理文本文件, 用非缓冲文件系统来处理二进制文件. ANSI C 标准只采用缓冲文件系统来处理文本文 件和二进制文件. C语言中对文件的读写都是用库函数来实现
清华大学出版社 TSINGHUA UNIVERSITY PRESS §132文件类型指针 Turbo C在 stdio. h文件中有以下的文件类型声明 typedef struct shortlevel;/*缓冲区“满”或“空”的程度*/ unsignedflags;/*文件状态标志*/ chard /*文件描述符* unsignedcharhold;/*如无缓冲区不读取字符*/ shortbsize;/*缓冲区的大小*/ unsignedchar* buffer;/数据缓冲区的位置* unsigned*curp/指针,当前的指向*/ unsignedistemp;/临时文件,指示器* shorttoken;/用于有效性检查*/}FILE 在缓冲文件系统中,每个被使用的文件都要在内存中开辟一 FLE类型的区存放文件的有关信息
§13.2 文件类型指针 Turbo C在stdio.h文件中有以下的文件类型声明: typedef struct { shortlevel; /*缓冲区“满”或“空”的程度*/ unsignedflags; /*文件状态标志*/ charfd; /*文件描述符*/ unsignedcharhold; /*如无缓冲区不读取字符*/ shortbsize; /*缓冲区的大小*/ unsignedchar*buffer;/*数据缓冲区的位置*/ unsignedar*curp;/*指针,当前的指向*/ unsignedistemp;/*临时文件,指示器*/ shorttoken;/*用于有效性检查*/}FILE; 在缓冲文件系统中,每个被使用的文件都要在内存中开辟一 FILE类型的区,存放文件的有关信息