C语言文件函数(1)

作者在 2020-04-21 12:02:30 发布以下内容
上一次操作不当,再发一次。😊😊😊
 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

C语言 | 阅读 2181 次
文章评论,共0条
游客请输入验证码
浏览2573次
文章分类
文章归档
最新评论