第十四章文件
第十四章 文件
141文件的基本概念 所谓“文件”是指一组相关数据的有序集合 这个数据集有一个名称,叫做文件名。 从不同的角度可对文件作不同的分类。从用户 的角度看,文件可分为普通文件和设备文件两 种 普通文件是指驻留在磁盘或其它外部介质上的 个有序数据集,可以是源文件、目标文件、 可执行程序;也可以是一组待输入处理的原始 数据,或者是一组输出的结果。对于源文件、 目标文件、可执行程序可以称作程序文件,对 输入输出数据可称作数据文件。 第十四章文件
第十四章 文件 14.1 文件的基本概念 ◼ 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 ◼ 从不同的角度可对文件作不同的分类。从用户 的角度看,文件可分为普通文件和设备文件两 种。 ◼ 普通文件是指驻留在磁盘或其它外部介质上的 一个有序数据集,可以是源文件、目标文件、 可执行程序;也可以是一组待输入处理的原始 数据,或者是一组输出的结果。对于源文件、 目标文件、可执行程序可以称作程序文件,对 输入输出数据可称作数据文件
141文件的基本概念 设备文件是指与主机相联的各种外部设备,如 显示器、打印机、键盘等。 从文件编码的方式来看,文件可分为ASCI码 文件和二进制码文件两种。 ASCI文件也称为文本文件,这种文件在磁盘 中存放时每个字符对应一个字节,用于存放对 应的ASCI码。 二进制文件是按二进制的编码方式来存放文件 的 第十四章文件
第十四章 文件 ◼ 设备文件是指与主机相联的各种外部设备,如 显示器、打印机、键盘等。 ◼ 从文件编码的方式来看,文件可分为ASCII码 文件和二进制码文件两种。 ◼ ASCII文件也称为文本文件,这种文件在磁盘 中存放时每个字符对应一个字节,用于存放对 应的ASCII码。 ◼ 二进制文件是按二进制的编码方式来存放文件 的。 14.1 文件的基本概念
142文件类型指针 ■定义说明文件指针的一般形式为: FLE*指针变量标识符; ■其中FDE应为大写,它实际上是由系统定义 的一个结构体类型,该结构中含有文件名、文 件状态和文件当前位置等信息。在编写源程序 时不必关心FLE结构的细节。 如: FILE *fp 表示fp是指向FE结构的指针变量, 第十四章文件
第十四章 文件 ◼ 定义说明文件指针的一般形式为: FILE* 指针变量标识符; ◼ 其中FILE应为大写,它实际上是由系统定义 的一个结构体类型,该结构中含有文件名、文 件状态和文件当前位置等信息。在编写源程序 时不必关心FILE结构的细节。 如: FILE *fp; 表示fp是指向FILE结构的指针变量, 14.2 文件类型指针
143文件的打开与关闭 、文件打开函数( fopen函数) fopen函数用来打开一个文件,其调用形式: 文件指针名= fopen(文件名,使用文件方式) ■其中,“文件指针名”必须是被说明为FILE 类型的指针变量,“文件名”是被打开文件的 文件名。 “使用文件方式”是指文件的类型和操作要求。 “文件名”是字符串常量或字符丰数组。 第十四章文件
第十四章 文件 ◼ fopen函数用来打开一个文件,其调用形式: 文件指针名 = fopen(文件名,使用文件方式) ◼ 其中,“文件指针名”必须是被说明为FILE 类型的指针变量,“文件名”是被打开文件的 文件名。 ◼ “使用文件方式”是指文件的类型和操作要求。 “文件名”是字符串常量或字符串数组。 14.3 文件的打开与关闭 一、文件打开函数(fopen函数)
143文件的打开与关闭 文件打开函数( fopen函数) 如:FILE*fp; fp=c"file. a",r) 在当前目录下打开文件fiea,只允许进行“读” 操作,并使f指向该文件 又如: FILE * fpzzk; pzkfc:IZzkl8,rb); 是打开C驱动器磁盘的根目录下的文件zk18,这 是一个二进制文件,只允许按二进制方式进行 读操作。两个反斜线“”中的第一个表示转 义字符,第二个表示根目录。 第十四章文件
第十四章 文件 如: FILE *fp; fp=("file.a","r"); 在当前目录下打开文件file a, 只允许进行“读” 操作,并使fp指向该文件。 又如:FILE *fpzzk; fpzzk=("c:\\zzk18","rb"); 是打开C驱动器磁盘的根目录下的文件zzk18,这 是一个二进制文件,只允许按二进制方式进行 读操作。两个反斜线“\\ ”中的第一个表示转 义字符,第二个表示根目录。 14.3 文件的打开与关闭 一、文件打开函数(fopen函数)
143文件的打开与关闭 、文件打开函数( fopen函数) 文件使用方式 文件使 含义 文件使用 含义 用方式 方式 "r"为输入打开一个文本"r+”为读/写打开一个文本 文件 "w"为输出打开一个文本"w+”为读写建立一个的文 文件 本文件 a"向文本文件尾增加数"a+”「为读/写打开一个文本 据 文件 "rb"为输入打开一个二进"rb+”为读/写打开一个二进 制文件 制文件 "wb"为输出打开一个二进|"wb+"为读/立一个二进制 制文件 文件 "ab"|向二进制文件尾增加|"ab+”为读写打开一个二进 数据 制文件 第十四章文件
第十四章 文件 文件使用方式 文件使 用方式 含 义 文件使用 方式 含 义 " r" 为输入打开一个文本 文件 "r+" 为读/写打开一个文本 文件 "w" 为输出打开一个文本 文件 "w+" 为读/写建立一个的文 本文件 "a" 向文本文件尾增加数 据 "a+" 为读/写打开一个文本 文件 " rb" 为输入打开一个二进 制文件 "rb+" 为读/写打开一个二进 制文件 "wb" 为输出打开一个二进 制文件 "wb+" 为读/建立一个二进制 文件 "ab" 向二进制文件尾增加 数据 "ab+" 为读/写打开一个二进 制文件 14.3 文件的打开与关闭 一、文件打开函数(fopen函数)
143文件的打开与关闭 文件打开函数( fopen函数) 对于文件使用方式有以下几点说明: (1)文件使用方式由r,w,a,t,b,十六个字符拼成,各字符的 含义是: r(read):读 w( write:写 a( append)}:追加 :读和写 ttt):文本文件,可省略不写 b( binary):二进制文件 (2)凡用"r"打开一个文件时,该文件必须已经存在,且 只能从该文件读出。 (3)用"w"打开的文件只能向该文件写入。若打开的文 件不存在,则以指定的文件名建立该文件,若打开的文 件已经存在,则将该文件删去,重建一个新文件。 第十四章文件
第十四章 文件 ◼ 对于文件使用方式有以下几点说明: (1)文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的 含义是: r(read):读 w(write): 写 a(append):追加 +:读和写 t(text): 文本文件,可省略不写 b(binary): 二进制文件 (2)凡用"r"打开一个文件时,该文件必须已经存在, 且 只能从该文件读出。 (3)用"w"打开的文件只能向该文件写入。 若打开的文 件不存在,则以指定的文件名建立该文件,若打开的文 件已经存在,则将该文件删去,重建一个新文件。 14.3 文件的打开与关闭 一、文件打开函数(fopen函数)
143文件的打开与关闭 文件打开函数( fopen函数) (4)若要向一个已存在的文件追加新的信息,只 能用"a"方式打开文件。但此时该文件必须是存 在的,否则将会出错。 (5)"r(b)+"与a(b)+"的区别:使用前者打开 文件时,读/写指针指向文件头;使用后者时, 读/写指针指向文件尾。 (6)在打开一个文件时,如果出错, fopen将返 回一个空指针值NULL。在程序中可以用这一信 息来判别是否完成打开文件的工作,并作相应 的处理。 第十四章文件
第十四章 文件 (4)若要向一个已存在的文件追加新的信息,只 能用"a "方式打开文件。但此时该文件必须是存 在的,否则将会出错。 (5)"r(b)+ "与"a(b)+ "的区别:使用前者打开 文件时,读/写指针指向文件头;使用后者时, 读/写指针指向文件尾。 (6)在打开一个文件时,如果出错,fopen将返 回一个空指针值NULL。在程序中可以用这一信 息来判别是否完成打开文件的工作,并作相应 的处理。 14.3 文件的打开与关闭 一、文件打开函数(fopen函数)
143文件的打开与关闭 文件打开函数( fopen函数) (7)使用文本文件向计算机系统输入数据时,系统自动 将回车换行符转换成一个换行符;在输出时,将换行符 转换成回车和换行两个字符。使用二进制文件时,内存 中的数据形式与数据文件中的形式完全一样,因而不再 进行转换。 (8)在程序开始运行时,系统自动打开三个标准文件, 并分别定义了文件指针: 标准输入文件 -stdin:指向终端输入(一般为键盘)。 标准输出文件 -stdout:指向终端输出(一般为显示 器 标准错误文件— -stderr:指向终端标准错误输出(一般 为显示器)。 第十四章文件
第十四章 文件 (7)使用文本文件向计算机系统输入数据时,系统自动 将回车换行符转换成一个换行符;在输出时,将换行符 转换成回车和换行两个字符。使用二进制文件时,内存 中的数据形式与数据文件中的形式完全一样,因而不再 进行转换。 (8)在程序开始运行时,系统自动打开三个标准文件, 并分别定义了文件指针: ➢ 标准输入文件——stdin:指向终端输入(一般为键盘)。 ➢ 标准输出文件——stdout:指向终端输出(一般为显示 器)。 ➢ 标准错误文件——stderr:指向终端标准错误输出(一般 为显示器)。 14.3 文件的打开与关闭 一、文件打开函数(fopen函数)