null第10章 文件第10章 文件C文件C文件文件是指存储在外部介质上的数据集合。
C语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。
根据数据的组织形式
ASCII文件(文本文件)
二进制文件
C文件是一个字节流或二进制流,不考虑记录的界限,即C中文件不是由记录组成的。C文件C文件C语言中对文件有的存取是以字符(字节)为单位的。输入输出的数据流的开始与结束仅受程序控制而不受物理符号控制。即在输出时不会自动增加回车换行符作为记录结束的标志。
此类文件称作流式文件。文件类型指针文件类型指针每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息(如文件的名字、文件状态及文件当前位置等)。
这些信息保存在一个结构体变量中,该结构体变量由系统文件定义,取名为FILE。
文件类型申明文件类型申明typedef struct
{short level; /*缓冲区“满”或“空”的程序*/
unsigned flags; /*文件状态标志*/
char fd; /*文件描述符*/
unsigned char hold; /*如无缓冲区不读取字符*/
short bsized; /*缓冲区大小*/
unsigned char *buffer; /*数据缓冲区的位置*/
unsigned ar *curp; /*指针,当前的指向*/
unsigned istemp; /*临时文件,指示器*/
short token; /*用于有效性检查*/
}FILE;定义文件类型数组定义文件类型数组有了结构体FILE类型之后,可以用它来定义若干个FILE类型的变量,以便存放若干个文件的信息。
FILE f[5];
定义了一个结构体数组f,它有5个元素,可以用来存放5个文件信息。 定义文件类型指针定义文件类型指针 FILE *fp;
fp是指向FILE类型结构体的指针变量,可以使fp指向某一个文件的结构体变量,从而通过该结构体变量中的文件信息能够访问该文件。
文件的打开(fopen
函
关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函
数)文件的打开(fopen函数) FILE *fp;
fp=fopen(文件名,使用文件方式);
例:fp=fopen("a1", "r");
即要打开名为a1的文件,使用文件方式“读入”(r代表read),fopen函数将指向a1文件的指针赋给fp。
使用文件方式见
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
P287的表10-1。文件的关闭(fclose函数)文件的关闭(fclose函数)一般形式:
fclose(文件指针);
例如:fclose(fp);
即将打开的文件关闭,即fp不再指向该文件。
fclose函数也返回一个值,当顺利地执行了关闭操作,返回值为0,否则返回值为-1。fputc函数fputc函数把一个字符写到磁盘文件上。
一般的调用形式:
fputc(ch,fp);
ch是要输出的字符,可以是字符常量,也可是字符变量。fp是文件指针变量。
该函数也返回一个值:输出成功,返回值即输出的字符,如果输出失败,返回一个EOF(即-1)。fgetc函数fgetc函数从指定的文件读入一个字符,该文件必须是以读或读写方式打开的。
调用形式:
ch=fgetc(fp);
fp为文件型指针变量,ch为字符变量。函数返回一个字符,赋给ch,当遇到文件结束符时,函数返回一个文件的结束标志EOF(即-1)。
EOF不是可输出字符,不能在屏幕上显示。fread函数和fwrite函数fread函数和fwrite函数调用形式:
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
说明:
buffer:是一个指针。对fread而言,是读入数据的存放地址;对fwrite而言,是要输出数据的存放地址。
size:要读写的字节数。
count:要进行读写多少个字节的数据项。
fp:文件型指针