通常这样用
#include<stdio.h>
FILE *fp;
fp=fopen("fuc.txt","r");
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
fopen函数的功能:
在内存中为将要打开的文件分配一个file类型的存储单元, 将该文件的一些基本信息填入这个存储单元,然后将该存储单元的起始地址返回并赋值给文件类型的指针fp
----------------------------------------------
不官方的解释就是:
以?方式打开?文件,使得某指针与之钩结,并设置的不同存取方式;这是作用
对应着有什么样的权限,对应着有文件位置指针的不同操作方式。
----------------------------------------------------------------------------------------------------------------------------------------------------------
函数原型:FILE * fopen(const char * path,const char * mode);
FILE *fopen("此处","文件存取方式");
文件名.扩展名
fuc.txt 或者
C://TC//TEST.DAT(此处注意需要双斜杠)
(1)当成功打开文件时,返回给fp一个FILE类型的存储单元;
失败时返回值为NULL,即fp此时为空指针。
(2)第一对双引号中,实参文件名可以是表示文件名的字符串常量,或存有文件名的字符数组名,还可以是一个指向文件字符串的指针。
文件存取方式(由文件系统决定)
有r 只读方式,设置只能从该文本文件中读取数据,文件被成功打开后,文件的位置指针将指向文件的起始处
r+ 可读写,文本存在则返回给这个被打开文件的指针,文件不存在则返回NULL给相应指针
w 只写方式,设置只能向该文件写入数据,文件存在则删除文件内容,否则新建一个文件。位置指针同上
w+ 可读写的方式(权限),文件存在则清空内容,文件不存在则新建该文件
a 追加方式打开某个文件,在文件的末尾添加数据,打开后,位置指针指向文件的结尾处
a+ 追加的方式,设置某个文件可读写,若文件不存在则建立该文件,文件存在,写入的数据会被追加到文件末尾处。(EOF符不保留)
规律总结一下:只有w开头的和a+会在指定的文件不存在时建立新文件。其他的都是返回Null。
只有a开头的可使得文件位置指针指向文件的末尾处。
文件有两类,二进制文件与文本文件。
二进制文件存放的是二进制补码形式的数据
文本文件是由一系列字符的ascii码构成的有序序列,在其中夹杂着换行符,这些换行符使得文本文件有了行文结构。
二进制文件存取方式 binary同上
rb
wb
ab
rb+
wb+
ab+
fopen函数可以当做是对文件进行读写操作之前的预处理