(1)fopen:打开文件
形式:FILE* fopen(const char * filename , const char* mode)
即:FILE* fp=NULL;
fp=fopen(文件名,文件打开方式);
如:fopen(“E:\\a.txt”,“r”); // 注:“\\”代表转义字符,表示一个反斜杠
mode对应的功能:
a.“r”:打开一个文本文件,只能读,如果文件不存在或无法找到,fopen函数失败,返回NULL;
b.“w”:创建一个文本文件,只能写,若文件存在则被重写;
c.“a”:打开一个文本文件,只能在文件尾部添加,如果文件不存在或无法找到,则新建一个文件;
d.“r+”:打开一个文本文件,可读可写,文件必须存在,否则,fopen函数失败,返回NULL;
e.“w+”:生成一个文本文件,可读可写,若文件存在则被重写;
f.“a+”:打开一个文本文件,可读可写,但只能在尾部添加,如果文件不存在,则新建一个文件。
注意:“a”和“a+”在对待文件尾标记EOF时,有细微不同,a模式不会将原文件的EOF移除,而a+模式会移除原文件中的EOF。
如:fp=fopen(“x.com”,“rb”);
表示以二进制文件只读方式打开当前目录下的x.com文件。
判断是否打开成功:
FILE* fp=NULL;
fopen(“E:\\a.txt”,“r”);
if(fp==NULL)
{出错处理;}
else
{正确处理;}
(2)fclose:关闭文件
形式: int fclose(FILE* fp);
注:使用该函数关闭时,缓冲区的数据都会被丢掉,可有效释放资源
(3)feof:判断文件已经结束
形式:int feof(FILE* fp);
对文本文件进行读取时,如果达到文件末尾,将返回EOF(-1),,对于二进制来说,-1是合法的数据,故一返回EOF就停止,则会出现错误,用feof函数,若位置指针到达尾,返回1,否则返回0.
(4)fgets和fputs:字符读写函数
形式:
int fgets(FILE* fpIn);
int fputs(int c, FILE* fpOut);
其中,fpIn必须是以读或读写方式打开的文件指针,fpOut必须是以读、读写或追加方式打开的文件指针。若读写操作正确,fgets函数返回写入字符的ASCII码,否则返回EOF。
<