admin 管理员组

文章数量: 1087139


2024年3月19日发(作者:html是什么版本)

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类

型的区,存放文件的有关信息。

1

FILE类型的数组:FILE f[5];定义了一个结构体数组f,它有5

个元素,可以用来存放5个文件的信息。

有了文件指针类型,就可以用它来定义文件指针变量,用文件指针

变量来访问文件,其形式为:FILE *指针变量名。例如:FILE *fp;

其中fp是指向要访问文件的指针变量。例如,通过文件指针访问

文件,有如下的访问:

FILE *fp;

fp=fopen(“”, “rb”);

ch=getc(fp);

第一行语句只定义了一个没有指向的文件指针fp,第二行是打开文件

,并同时确定对访问文件的操作方式(此处对访问的文件只进

行读操作),这时给文件结构中的成员信息赋值,并使fp指向

文件,第三行是利用文件指针对文件进行操作,操作方式应当与打开文

件时确定的方式一致(只读)。由此可以看出,操作文件过程中不出现

对文件结构成员的访问语句。

如果有n个文件,一般应设n个指针变量,使它们分别指向n个文

件,确定打开方式,利用有关函数对文件指针操作即可。例如:下面语

句定义了三个文件指针,在程序中就可以处理三个不同的文件。

FILE *fa,*fb,*fc;

2


本文标签: 文件 指针 操作 访问 方式