(2)非缓冲文件 所谓非缓冲文件系统是指系统不自动开辟一个内存 缓冲区,而由用户根据所处理数据量的大小在程序中设 置数据缓冲区
(2)非缓冲文件 ❖ 所谓非缓冲文件系统是指系统不自动开辟一个内存 缓冲区,而由用户根据所处理数据量的大小在程序中设 置数据缓冲区
1013设备文件 由于计算机中的输入输出设备的作用是输入输出数据, 其功能和文件的读取数据/写入数据相似,所以操作系 统把输入/输出设备也看成文件,称为设备文件。 计算机的常用输入设备是键盘,称标准输入设备; 常用输出设备是显示器,称标准输出设备;还有二个专 用于输出错误信息的标准错误输出设备,也是显示器。 从输入设备上读取数据,可以看成是从输入设备文 中读数据:将数据写到输出设备上,可以看成是写到 出设备文件中
10.1.3 设备文件 ❖ 由于计算机中的输入/输出设备的作用是输入输出数据, 其功能和文件的读取数据/写入数据相似,所以操作系 统把输入/输出设备也看成文件,称为设备文件。 ❖ 计算机的常用输入设备是键盘,称标准输入设备; 常用输出设备是显示器,称标准输出设备;还有一个专 用于输出错误信息的标准错误输出设备,也是显示器。 ❖ 从输入设备上读取数据,可以看成是从输入设备文 件中读数据:将数据写到输出设备上,可以看成是写到 输出设备文件中
102文件类型及其指针 当在C语言程序中操作一个实际的磁盘文件时,需要一个流指针 来代表这个文件。流指针其实是一个结构体类型的指针,这个结 构体被定义在头文件 stdio. h中,它详细描述 ¢流的性质,箕 形式如下 typedef struct short leve;/缓冲区“满”或者“空”的程度* unsigned flags;/户文件状态标志 char fd;/*文件描述符* unsigned char hold;/*如果无缓冲区则不读取字符* short bsize;/缓冲区的大小* unsigned char*buffer;/数据缓冲区的位置* unsigned char'curp;"指针,当前的指向 unsigned istemp;/临时文件指示器* short token;/用于有效性检查 F‖LE
10.2 文件类型及其指针 当在C语言程序中操作一个实际的磁盘文件时,需要一个流指针 来代表这个文件。流指针其实是一个结构体类型的指针,这个结 构体被定义在头文件stdio.h中,它详细描述了一个流的性质,其 形式如下: typedef struct { short level; /*缓冲区“满”或者“空”的程度*/ unsigned flags; /*户文件状态标志*/ char fd; /*文件描述符*/ unsigned char hold; /*如果无缓冲区则不读取字符*/ short bsize; /*缓冲区的大小*/ unsigned char*buffer; /*数据缓冲区的位置*/ unsigned char*curp; /*指针,当前的指向*/ unsigned istemp; /*临时文件指示器*/ short token; /*用于有效性检查*/ }FILE;
103文件的打开和关闭 10.3.1文件打开函数 文件打开函数 fopen0的原型是 FILE fopen (char name, char mode) 该函数是指针型函数,调用后返回文件类指针。有两个函数参 数,都是字符型指针,其中name用来接收“文件名”(字符 串),mode用来接收“文件操作方式”(字符串)。因此该函 数调用方式是 p= fopen("文件名","文件操作方式") 其中, “文件指针名”fp必须是被说明为FLE类型的指针变量 “文件名”是被打开文件的文件名; 文件操作方式"是指文件的类型和操作要求
10.3 文件的打开和关闭 10.3.1 文件打开函数 文件打开函数fopen()的原型是: FILE*fopen(char*name,char*mode); 该函数是指针型函数,调用后返回文件类指针。有两个函数参 数,都是字符型指针,其中name用来接收“文件名”(字符 串),mode用来接收“文件操作方式”(字符串)。因此该函 数调用方式是: fp=fopen("文件名" , "文件操作方式"); 其中, “文件指针名” fp必须是被说明为FILE 类型的指针变量; “文件名”是被打开文件的文件名; "文件操作方式"是指文件的类型和操作要求
mode的取值与所代表的含义 type 含义 」文件不存在时|文件存在时 是号方打开不*交件需女开交团件内至 以追加方式打开一个文本文件建立新文件 打开文件,只能从文件屠 向文件追加数据 以读写方式打开一个文本文件|返回锴误标志打开文件 以读/写方式建立一个新的文本 打开文件,原文件内容清 文件 建立新文件 a+‖以读/写方式打开—个文本文件|建立新文件 打开文件,可从文件中读 取或往文件中写人数据 rb 以只读方式打开一个二进制文件返回错误标志打开文件 wb 以只写方式打开一个二进制文件建立新文件 打开文件,原文件内容清 以追加方式打开一个二进制文件建立新文件 打开文件,从文件尾向文 件追加数据 以读/写方式打开一个二进制女返回错误标志打开文件 件 wb+以读/写方式打开一个新的二进|建立新文件 打开文件,原文件内容清 制文件 以写方式打开一个进制文建文新文件 打开文件,可从文件读取 件 或往文件中写人数据
mode的取值与所代表的含义