文件类型指针:
在缓冲文件系统中系统为每个 需要才做的文件开辟一个缓冲区域,这个缓冲区域包含文件的名字路径等信息,这些都封存再一个文件类型指针中,具体内详见文件的初步认识1中有具体的定义。
文件的初步认识
C语言将该结构定义类型为FILE,简称文件类型,利用文件类型FILE可以定义文件类型变量,用于存放缓冲区的文件信息。也可以定义文件指针,用于指向文件缓冲区。(较常用)
对于常用的设备文件,再标准头文件中,stdio.h 中定义了三个文件类型指针,stdin、stdout、stderr
stdin:标准输入流指针,通常指向键盘
stdout:标准输出流指针,指向显示屏
stderr:标准出错流指针,通常指向显示屏。
1>文件的打开与关闭:
打开文件:再计算机内存中开辟一个缓冲区,用于存放被打开文件的有关信息。
文件的处理:在缓冲区中读写数据以及定位等操作。
文件的关闭:将缓冲区的内容写到外部储存器中,并释放缓冲区域。
文件的打开:fopen()函数
样例:
FILE *fp;
fp=open("student.txt","r"); //以只读的方式打开student.txt文件、
若成功则开辟一片缓冲区,不成功的话则返回NULL
对于与文本文件和二进制文件都有不同:下面是对照表:
文本文件 二进制文件 说明
r rb 只读的方式打开文件,不存在返回NULL
w wb 只写的方式打开文件,已存在,则删除原有内容,不存在,则新建
a ab 向文件尾部追加数据,若不存在则新建文件
r+ rb+ 以读写的方式打开文件,不存在返回NULL
w+ wb+ 以读写的方式打开文件,若存在,则清除原有内容,不存在,则新建
ab ab+ 以可读,可追加的方式打开文件。若不存在,则新建一个文件。
注意:在使用方式中,但是加b的军事指二进制文件,不加b的都是指文本文件,凡是用加a的形式打开文件后,指针指向文件尾部,其余指向文件头部。
如果不知道文件的状态的话,通常加一个语句来判断,以避免以后的程序运行出错。
if((fp=fopen("文件名字","使用方式"))==NULL)
{
printf("Can not open the file:\n");
exit(0); //终止调用过程
}
文件的关闭fclose()函数
具体介绍同上:fclose(文件指针)
例子:如果已W的方式打开文件,若文件不存在则新建一个文件,因此在执行fopen函数以后,当前目录下就有一个名为text的文件了,程序中马上对这份文件执行关闭操作!