第9章c语言库函数 9.1概述 9.2文件类型指针 93文件的打开与关闭 94文件的读写 9.5文件的定位 96出错的检查 9,7非缓冲文件系统
第 9 章 C语言库函数 9.1 概述 9.2 文件类型指针 9.3 文件的打开与关闭 9.4 文件的读写 9.5 文件的定位 9.6 出错的检查 9.7 非缓冲文件系统
第9章c语言库函数 9.1概述 C语言将文件看作是一个字符(字节)序列组成的。 分为ASC文件和二进制文件两种。 C的“缓冲文 件系统”自动地 输出 在内存中开辟 /圈冲区 个文件缓冲区,「程序 在对文件进行处数据区 磁盘 文件 理时,通过文件 缓冲区进行输入 7入「输入 缓冲区 与输出
第 9 章 C语言库函数 9.1 概述 C语言将文件看作是一个字符(字节)序列组成的。 分为ASCII文件和二进制文件两种。 C的 “缓冲文 件系统” 自动地 在内存中开辟一 个文件缓冲区, 在对文件进行处 理时,通过文件 缓冲区进行输入 与输出。 程序 数据区 输出 缓冲区 磁盘 文件 输入 缓冲区
92文件类型指针 “文件指针”是缓冲文件系统中的一个重要概念。在 C系统的头文件 stdio. h中定义了一个名叫FE的结构 体类型: ty pede struct Ishort leve;/*缓冲区饱和程度 unsigned flage;/文件状态标志 char fd /*文件号 unsigned char hold;;/无缓冲区取消字符输入为 short bsze;/缓冲区大小,缺省值512* unsigned char“ buffer;/缓冲区 unsigned char *curp;/当前活动指针 unsigned stemp;/草稿文件标识 short token;/作正确性检验 SFILE
9.2 文件类型指针 “文件指针”是缓冲文件系统中的一个重要概念。在 C系统的头文件stdio.h 中定义了一个名叫FILE 的结构 体类型: typedef struct { short unsigned char unsigned char short unsigned char unsigned char unsigned short }FILE; level; flage; fd; hold; bsize; *buffer; *curp; istemp; token; /* 缓冲区饱和程度 */ /* 文件状态标志 */ /* 文件号 */ /* 无缓冲区取消字符输入 */ /* 缓冲区大小,缺省值512 */ /* 缓冲区 */ /* 当前活动指针 */ /* 草稿文件标识 */ /* 作正确性检验 */
93文件的打开与关闭 在对文件读、写之前必须先打开该文件,使用结束 后应关闭该文件。 1.文件打开函数 fopen 函数调用格式: FILE *fp fp= fopen(“文件名”,“使用方式”) 以指定的使用方式打开指定的文件。 说明: ①用fp指向打开的文件后,就可以用它来访问该文件。 ②“文件名”为任何合法的DOS文件名。 ③使用方式见下表:
9.3 文件的打开与关闭 在对文件读、写之前必须先打开该文件,使用结束 后应关闭该文件。 1. 文件打开函数 fopen 函数调用格式: FILE *fp; fp=fopen(“文件名”,“使用方式”); 以指定的使用方式打开指定的文件。 说明: 用fp 指向打开的文件后, 就可以用它来访问该文件。 “文件名”为任何合法的DOS文件名。 使用方式见下表:
使用 方式 含义若文件不存在 若有此文件 只读(文本文件)返回错误标志打开指定的文件 W只写文本文件)建立新文件打开指定的文件并清空内容 a添加(文本文件)建立新文件开毫的文件但只能在文 r+读写(文本文件)返回错误标志打开指定的文件 W+读写(文本文件)建立新文件打开指定的文件并清空内容 a渎写(文本文件)建立新文件打开指定的文件可读写 rb只读(二进制文件)返回错误标志打开指定的文件 wb只写(二进制文件)建立新文件打开指定的文件并清空内容 ab添加(二进制文件)建立新文件打牙指定的文件但只能在文 rb+读写(二进制文件返回错误标志灯开指定的文件 wb+读/写(二进制文件建立新文件打开指定的文件并清空内容 ab读写(二进制文件建立新文件打开指定的文件可读写
使用 方式 含 义 若文件不存在 若有此文件 r 只读(文本文件) 返回错误标志打开指定的文件 W 只写(文本文件) 建立新文件 打开指定的文件并清空内容 a 添加(文本文件) 建立新文件 打开指定的文件,但只能在文 件末尾添加数据 r+ 读/写(文本文件) 返回错误标志打开指定的文件 w+ 读/写(文本文件) 建立新文件 打开指定的文件并清空内容 a+ 读/写(文本文件) 建立新文件 打开指定的文件,可读/写 rb 只读(二进制文件) 返回错误标志打开指定的文件 wb 只写(二进制文件) 建立新文件 打开指定的文件并清空内容 ab 添加(二进制文件) 建立新文件 打开指定的文件,但只能在文 件末尾添加数据 rb+ 读/写(二进制文件)返回错误标志打开指定的文件 wb+读/写(二进制文件)建立新文件 打开指定的文件并清空内容 ab+ 读/写(二进制文件)建立新文件 打开指定的文件,可读/写