第13章文件 13.2文件类型指针 结构体文件类型FIE typedef struct shortley l /*缓冲区"满"或"空"的程度*/ uns i gnedf lags /*文件状态标志* chard /*文件描述符* uns I gnedcharho ld /*如无缓冲区不读取字符* shorts ize /*缓冲区的大小*/ uns i gnedchar* buffer;/*数据缓冲区的位置*/ uns i gnedar curp /*指针,当前的指向*/ uns i gedi stemp /*临时文件,指示器*/ shorttoken; /*用于有效性检查*/ IFILE:
-6- 第13章 文件 13.2 文件类型指针 结构体文件类型FILE typedef struct { shortlevel; /*缓冲区"满"或"空"的程度*/ unsignedflags; /*文件状态标志*/ charfd; /*文件描述符*/ unsignedcharhold; /*如无缓冲区不读取字符*/ shortbsize; /*缓冲区的大小*/ unsignedchar*buffer; /*数据缓冲区的位置*/ unsignedar*curp; /*指针,当前的指向*/ unsignedistemp; /*临时文件,指示器*/ shorttoken; /*用于有效性检查*/ }FILE;
第13章文件 13.2文件类型指针 在缓冲文件系统中,每个被使用的文件都在内存中开辟一个区域,用 来存放文件的有关信息(名字、状态、当前位置等),这些信息存放 在一个结构体变量中。 ☆FILE类型的数组 FILE f[5] ◇文件型指针变量 FILE *fp;
-7- 第13章 文件 13.2 文件类型指针 在缓冲文件系统中, 每个被使用的文件都在内存中开辟一个区域,用 来存放文件的有关信息(名字、状态、当前位置等),这些信息存放 在一个结构体变量中。 v FILE类型的数组 FILE f[5]; v 文件型指针变量 FILE *fp;
第13章文件 13.3文件的打开和关闭 文件的打开( fopen o函数) ◆调用方式: FILE *fp fp= fopen(文件名,使用文件方式); 使用文件方式 r w a ◇函数的返回值: ■正常打开则返回文件指针。 ■出错则返回0(NUL)。 文件的关闭( fclose函数) 调用形式: fclose(文件指针); 函数的返回值: 正常关闭则返回0值。 ■否则返回EOF
-8- 第13章 文件 13.3 文件的打开和关闭 文件的打开(fopen()函数) v 调用方式: FILE *fp; fp=fopen(文件名,使用文件方式); v 使用文件方式: r,w,a,+,b v 函数的返回值: 正常打开则返回文件指针。 出错则返回0(NULL)。 文件的关闭(fclose()函数) v 调用形式: fclose(文件指针); v 函数的返回值: 正常关闭则返回0值。 否则返回EOF
第13章文件 13.3文件的打开和关闭 符号 方式 含义 只读 为输入打开一个文本文件 只写 为输出打开一个文本文件 追加 向文本文件尾增加数据 bbb 只读 为输入打开一个二进制文件 只写 为输出打开一个二进制文件 追加 向二进制文件尾增加数据 r+ 读写 为读/写打开一个文本文件 w+ 读写 为读/写建立一个新的文本文件 读写 为读/写打开一个文本文件 读写 为读/写打开一个二进制文件 wbt+ 读写 为读/写建立一个新的二进制文件 ab+ 读写 为读/写打开一个二进制文件
-9- 第13章 文件 13.3 文件的打开和关闭 符号 方式 含义 " r " 只读 为输入打开一个文本文件 " w " 只写 为输出打开一个文本文件 " a " 追加 向文本文件尾增加数据 " rb" 只读 为输入打开一个二进制文件 " wb" 只写 为输出打开一个二进制文件 " ab" 追加 向二进制文件尾增加数据 " r+" 读写 为读/写打开一个文本文件 " w+" 读写 为读/写建立一个新的文本文件 " a+" 读写 为读/写打开一个文本文件 " rb+" 读写 为读/写打开一个二进制文件 " wb+" 读写 为读/写建立一个新的二进制文件 " ab+" 读写 为读/写打开一个二进制文件
第13章文件 13.3文件的打开和关闭 E几个相关的函数和符号常量 令函数exit(0)关闭所有文件 ◆符号常量NULL空值(0) ☆符号常量EOF文件结束符(-1) 函数feof(文件指针)判断文件结束否(非0结束) 10
-10- 第13章 文件 13.3 文件的打开和关闭 几个相关的函数和符号常量 v 函数exit(0) 关闭所有文件 v 符号常量NULL 空值(0) v 符号常量EOF 文件结束符(-1) v 函数feof(文件指针)判断文件结束否(非0结束)