1 C 语言文件的输入与输出 一. 文件指针 每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息(如文件的名字、文什状态及文件当前位置等)
这些信息是保存在一个结构体变量中的
该结构体类型是由系统定义的,取名为FILE
在sudio
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; 在缓冲文件系统中,每个被使用的文件都要在内存中开辟一FILE 类型的区,存放文件的有关信息
2 FILE 类型的数组:FILE f[ 5] ;定义了一个结构体数组f, 它有5个元素,可以用来存放5 个文件的信息
有了文件指针类型,就可以用它来定义文件指针变量,用文件指针变量来访问文件,其形式为:FILE *指针变量名
例如:FILE *fp;其中fp 是指向要访问文件的指针变量
例如,通过文件指针访问text
exe 文件,有如下的访问: FILE *fp; fp=fopen(“ text
exe” , “ rb” ); ch=getc(fp); 第一行语句只定义了一个没有指向的文件指针fp,第二行是打开文件text
exe,并同时确定对访问文件的操作方式(此处对访问的文件只进行读操作), 这时给文件结构中的成员信息赋值,并使fp 指向te