C Programming Language>第九章 说明: ◎一个文件是一个字节流或二进制流,它把 数据看作是一连串的字符序列(字节),而不 考虑记录的界限,即C文件并不是由记录组成的。 ②由于对文件的操作要与各种外部设备发生联 系,因此对文件的输入输出(读写)过程是通 过操作系统来实现的。对文件的读写都是通过 标准的|/0函数进行的。 US bctjiacusle, dll., 3
说明: 一 个C文件是一个字节流或二进制流,它把 数据看作是一连串的字符序列(字节),而不 考虑记录的界限,即C文件并不是由记录组成的。 由于对文件的操作要与各种外部设备发生联 系,因此对文件的输入输出(读写)过程是通 过操作系统来实现的。对文件的读写都是通过 标准的I/O函数进行的
C Programming Language>第九章 语三缓冲文件系统标准O〕和非缓冲文件系统 言0缓冲文件系统(又称标准或高层文件系统) 特点:对程序中的每一个文件都在内存中开辟 个“缓冲区” 作用:从磁盘文件读入的数据先送到“输入缓 设计 冲区”中,然后再从缓冲区依次将数据送给接 收变量。 US ocia(ustc, dlLcns9
二、缓冲文件系统(标准I/O)和非缓冲文件系统 缓冲文件系统(又称标准或高层文件系统) 特点:对程序中的每一个文件都在内存中开辟 一个“缓冲区”。 作用:从磁盘文件读入的数据先送到“输入缓 冲区”中,然后再从缓冲区依次将数据送给接 收变量
C Programming Language>第九章 内存 读 磁盘 变量a 输入文件缓冲区 文件 (512KB 写 输出文件缓冲区 程序数据区 (512KB) 在向磁盘文件输出数据时,先将程序数据区中变量 或表达式的值送到“输出文件缓冲区”中,待装满后 才一起输出给磁盘文件。目的减少对磁盘的读写次数, 即一次可以读入一批数据或输出一批数据。 US ocia(ustc, dlLcns9
在向磁盘文件输出数据时,先将程序数据区中变量 或表达式的值送到“输出文件缓冲区”中,待装满后 才一起输出给磁盘文件。目的减少对磁盘的读写次数, 即一次可以读入一批数据或输出一批数据。 输 入 文 件 缓 冲 区 (512KB) 输 出 文 件 缓 冲 区 (512KB) 变量a 程序数据区 磁盘 文件 读 写 内存
C Programming Language>第九章 二、缓冲文件系统(标准IO)和非缓冲文件系统 言非缓冲文件系统:不由系统自动设置所需 缓冲区,而由用户自己根据需要设置 新的ANS|标准只建议使用缓冲系统,并对 缓冲文件系统的功能进行了扩充,使既能用于 处理字符代码文件,也能处理二进制文件。 US ( 9(L
二、缓冲文件系统(标准I/O)和非缓冲文件系统 非缓冲文件系统:不由系统自动设置所需 缓冲区,而由用户自己根据需要设置。 新的ANSI标准只建议使用缓冲系统,并对 缓冲文件系统的功能进行了扩充,使既能用于 处理字符代码文件,也能处理二进制文件
C Programming Language>第九章 、文件型指针类型 对文件的操作是通过文件指针实现的。关键 的概念是“文件指针 设计 调用一个文件需要的信息 0文件当前读写的位置 ②与该文件对应的内存缓冲区的地址; 缓冲区未被处理的字符数(字符指针) 文件的操作方式等 US ( 9(L
三、文件型指针类型 对文件的操作是通过文件指针实现的。关键 的概念是“文件指针”。 调用一个文件需要的信息: 文件当前读写的位置; 与该文件对应的内存缓冲区的地址; 缓冲区未被处理的字符数(字符指针); 文件的操作方式等