【C 语言】文件操作 ( fopen 文件打开方式详解 )(三)

简介: 【C 语言】文件操作 ( fopen 文件打开方式详解 )(三)

6、w


w : 以写的方式打开文件 ;


如果文件不存在 , 就创建文件 ;

如果文件存在 , 覆盖原有数据重新写入数据 ;

写出时 , 将该文件原有数据覆盖 , 即文件长度清 0 00 , 删除文件内容 , 重新写入文件内容 ;

#include <stdio.h>
int main()
{
    // 以 w 方式打开文件
    FILE *p = fopen("D:\\a.txt", "a");
    if(p == NULL)
    {
        printf("File Open Failed !\n");
    }else
    {
        fputs("hello\n", p);
        // 如果打开成功 , 则需要关闭文件
        fclose(p);
    }
    printf("Main End\n");
    return 0;
}


执行结果 : 该程序无论执行多少次 , 显示的结果都是 hello ;

image.png





7、w+


w+ : 以 读写的方式 打开文件 ;


如果文件不存在 , 就创建文件 ;

如果文件存在 , 覆盖原有数据重新写入数据 ;

写出时 , 将该文件原有数据覆盖 , 即文件长度清 0 00 , 删除文件内容 , 重新写入文件内容 ;

代码示例 :


#include <stdio.h>
int main()
{
    // 以 w+ 读写方式 打开 二进制文件
    FILE *p = fopen("D:\\a.txt", "w+");
    if(p == NULL)
    {
        printf("File Open Failed !\n");
    }else
    {
        printf("File Open Success !\n");
        fputs("Hello\n", p);
        fputs("World\n", p);
        // 如果打开成功 , 则需要关闭文件
        fclose(p);
    }
    printf("Main End\n");
    return 0;
}


执行结果 :


如果文件不存在 , 则直接创建文件 , 并写出数据 ;

image.png



如果文件存在 , 则覆盖原来的文件 , 重新写入数据 ;


image.png




8、a


a : 以 追加方式 打开写文件 ,


如果文件不存在 , 则 创建文件 ;

如果文件存在 , 则新写入的数据会被 追加到文件末尾 , 文件原来的数据会被保留 ;

#include <stdio.h>


int main()
{
    // 以 a 追加方式打开文件
    // 如果文件不存在创建文件
    // 如果文件存在, 则追加数据
    FILE *p = fopen("D:\\a.txt", "a");
    if(p == NULL)
    {
        printf("File Open Failed !\n");
    }else
    {
        // 如果文件不存在创建文件
        // 如果文件存在, 则追加数据
        fputs("hello\n", p);
        // 如果打开成功 , 则需要关闭文件
        fclose(p);
    }
    printf("Main End\n");
    return 0;
}


该程序执行 2 22 次之后 , a.txt 文本中变成了两个 hello 文本 , 这是文件追加效果 ;



image.png



9、a+


a+ : 以 追加方式 打开读写文件 ,


如果文件不存在 , 则 创建文件 ;

如果文件存在 , 则新写入的数据会被 追加到文件末尾 , 文件原来的数据会被保留 ;


该操作与 a 操作区别是可读 ;






三、文件打开方式总结


r : 只读方式打开文件 , 文件必须存在 ; 文件不存在打开失败 ;


+ : 读写方式打开文件 ;


w : 打开只写文件 , 文件不存在创建文件 , 文件存在覆盖文件 ;


a : 打开只写文件 , 文件不存在创建文件 , 文件存在追加文件 ;


目录
相关文章
|
27天前
|
存储 程序员 C语言
【C语言】文件操作函数详解
C语言提供了一组标准库函数来处理文件操作,这些函数定义在 `<stdio.h>` 头文件中。文件操作包括文件的打开、读写、关闭以及文件属性的查询等。以下是常用文件操作函数的详细讲解,包括函数原型、参数说明、返回值说明、示例代码和表格汇总。
44 9
|
28天前
|
存储 数据管理 C语言
C 语言中的文件操作:数据持久化的关键桥梁
C语言中的文件操作是实现数据持久化的重要手段,通过 fopen、fclose、fread、fwrite 等函数,可以实现对文件的创建、读写和关闭,构建程序与外部数据存储之间的桥梁。
|
1月前
|
算法 C语言
C语言中的文件操作技巧,涵盖文件的打开与关闭、读取与写入、文件指针移动及注意事项
本文深入讲解了C语言中的文件操作技巧,涵盖文件的打开与关闭、读取与写入、文件指针移动及注意事项,通过实例演示了文件操作的基本流程,帮助读者掌握这一重要技能,提升程序开发能力。
109 3
|
1月前
|
存储 C语言
【c语言】玩转文件操作
本文介绍了C语言中文件操作的基础知识,包括文件的打开和关闭、文件的顺序读写、文件的随机读写以及文件读取结束的判定。详细讲解了`fopen`、`fclose`、`fseek`、`ftell`、`rewind`等函数的使用方法,并通过示例代码展示了如何进行文件的读写操作。最后,还介绍了如何判断文件读取结束的原因,帮助读者更好地理解和应用文件操作技术。
51 2
|
2月前
|
存储 编译器 C语言
如何在 C 语言中判断文件缓冲区是否需要刷新?
在C语言中,可以通过检查文件流的内部状态或使用`fflush`函数尝试刷新缓冲区来判断文件缓冲区是否需要刷新。通常,当缓冲区满、遇到换行符或显式调用`fflush`时,缓冲区会自动刷新。
|
2月前
|
存储 编译器 C语言
C语言:文件缓冲区刷新方式有几种
C语言中文件缓冲区的刷新方式主要包括三种:自动刷新(如遇到换行符或缓冲区满)、显式调用 fflush() 函数强制刷新、以及关闭文件时自动刷新。这些方法确保数据及时写入文件。
|
6月前
|
C语言
C语言进阶——sprintf与sscanf、文件的随机读写(fseek、ftell、rewind)
C语言进阶——sprintf与sscanf、文件的随机读写(fseek、ftell、rewind)
60 0
|
存储 缓存 C语言
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(下)
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(下)
|
存储 C语言
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(中)
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(中)
|
编译器 数据库 C语言
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(上)
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(上)