上一次操作不当,再发一次。😊😊😊
1,fopen()函数
■使用 头文件中的 fopen() 函数即可打开文件,它的用法为:FILE *fopen(char *filename, char *mode); filename为文件名(包括文件路径),mode为打开方式,它们都是字符串。
■fopen() 会获取文件信息,包括文件名、文件状态、当前读写位置等,并将这些信息保存到一个 FILE 类型的结构体变量中,然后将该变量的地址返回。
■FILE 是 头文件中的一个结构体,它专门用来保存文件信息。我们不用关心 FILE 的具体结构,只需要知道它的用法就行。
■如果希望接收 fopen() 的返回值,就需要定义一个 FILE 类型的指针。例如:FILE *fp = fopen("C:\\test.txt", "r");
■在调用 fopen() 函数时,这些信息都必须提供,称为“文件打开方式”。最基本的文件打开方式有以下几种:控制读写权限的字符串(必须指明)
打开方式 说明
>>>"r" 以“只读”方式打开文件。只允许读取,不允许写入。文件必须存在,否则打开失败。
>>>"w" 以“写入”方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。
>>>"a" 以“追加”方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么将写入的数据追加到文件的末尾(文件原有的内容保留)。
>>>"r+" 以“读写”方式打开文件。既可以读取也可以写入,也就是随意更新文件。文件必须存在,否则打开失败。
>>>"w+" 以“写入/更新”方式打开文件,相当于w和r+叠加的效果。既可以读取也可以写入,也就是随意更新文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。
>>>"a+" 以“追加/更新”方式打开文件,相当于a和r+叠加的效果。既可以读取也可以写入,也就是随意更新文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么将写入的数据追加到文件的末尾(文件原有的内容保留)。
控制读写方式的字符串(可以不写)
打开方式 说明
>>>"t" 文本文件。如果不写,默认为"t"。
>>>"b" 二进制文件。
调用 fopen() 函数时必须指明读写权限,但是可以不指明读写方式(此时默认为"t")。
■读写权限和读写方式可以组合使用,但是必须将读写方式放在读写权限的中间或者尾部(换句话说,不能将读写方式放在读写权限的开头)。例如:
将读写方式放在读写权限的末尾:"rb"、"wt"、"ab"、"r+b"、"w+t"、"a+t"
将读写方式放在读写权限的中间:"rb+"、"wt+"、"ab+"
■整体来说,文件打开方式由 r、w、a、t、b、+ 六个字符拼成,各字符的含义是:
r(read):读
w(write):写
a(append):追加
t(text):文本文件
b(banary):二进制文件
+:读和写
2,fclose()函数
■文件一旦使用完毕,应该用 fclose() 函数把文件关闭,以释放相关资源,避免数据丢失。fclose() 的用法为:
int fclose(FILE *fp);
fp 为文件指针。
例如:
fclose(fp);
文件正常关闭时,fclose() 的返回值为0,如果返回非零值则表示有错误发生。
■下面上源码:
/*这是一个关于C语言文件处理的例子*/
#include <stdio.h> //在stdio.h库里。
int main (){
FILE* tp;
tp=fopen("C:\\test.txt","r"); //以只读的方式打开文件。
if(tp==NULL)
{ //用if...else...语句判断文件是否打开成功。
printf("文件打开失败!\n");
exit(0); //如果文件打开失败就结束程序。
}else{
printf("文件打开成功!\n");
}
fclose(tp); //文件打开后记得关哟!
return 0;
}
PS:因知识面太窄,会有错的地方,望指出。
希望对你们有用。
(你们的鼓励就是我更新的动力!)
---------blanknt