文档操作

定义一个FILE类型指针fp,用于文档操作;其函数均在stdio.h头文件里面

FILE* fp = fopen("C:\\Users\\LXG\\Desktop\\车俩信息.txt","r"); 

文档权限

        r 打开只读文件,该文件必须存在。
        r+ 打开可读写的文件,该文件必须存在。
        w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
        w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

        a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
        a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

fgetc()、fgets()、fscanf()的区别

     ①ch = fgetc(fp);

     ② fgets(buf, sizeof(buf), fp);                      

         buf为一个字符数组,sizeof(buf)获取字符数组的大小。

     ③fscanf("路径","%s",fp);  或者将%s换为%d均可以。


feof()


        while(!feof(fp))   ,  判断文档是否读完                      (补充一点'\n'是一个字符)

     PS:  EOFfeof()的区别,EOF用于文件输入,通常判断一个函数是否成功,其表示是Control + z.

while(scanf("%d",&n)!=EOF),其值通常表示为-1.也以为如此,其不可以用于文档的结尾,文档存储一般是二进制,所有有了feof()函数。


fclose()

        如果不关闭文件,可能会丢失数据。因为在向文件写数据时,实现将数据输到缓冲区,待缓冲区充满后才正式输出给文件,如果当数据未充满缓冲区而程序结束运行,就会将缓冲区中的数据丢失。用fclose函数关闭文件,他先将缓冲区中的数据输出到磁盘文件然后才释放文件指针变量,从而避免了数据丢失。

        关闭文档; 若关闭已经关闭的文档可能导致程序崩溃。此时fclose(fp)释放的是野指针,这很危险的

猜你喜欢

转载自blog.csdn.net/qq_37334150/article/details/78987530