【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 : 打开只写文件 , 文件不存在创建文件 , 文件存在追加文件 ;


目录
相关文章
|
1月前
|
存储 程序员 C语言
c语言文件操作
本文介绍了C语言中文件操作的核心概念,包括文件缓冲区、数据与程序文件的区别、流的概念及标准输入输出流。重点讲解了文件的打开与关闭、读写操作(如fgetc、fputs、fscanf、fwrite等),以及随机读写函数fseek、ftell和rewind的使用方法。同时说明了文本文件与二进制文件的读取结束判定方式,并通过代码示例展示了实际应用。
|
5月前
|
存储 编译器 程序员
c语言的文件操作与文件缓冲区
如果没有文件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运行程序,是看不到上次程序的数据的,如果要将数据进行持久化的保存,我们可以使用文件。磁盘(硬盘)上的文件是文件。但是在程序设计中,我们⼀般谈的⽂件有两种:程序文件、数据文件(从文件功能的角度来分类 的)。就比如说我们电脑中以.txt为后缀的就是文件的一种,他就是数据文件。.exe为后缀的就为程序文件。函数名功能适用范围fgetc字符输入函数所有输入流fputc字符输出函数所有输出流fgets。
124 0
|
9月前
|
人工智能 C语言
|
10月前
|
存储 小程序 C语言
【C语言程序设计——文件】文件操作(头歌实践教学平台习题)【合集】
本文介绍了C语言中的文件操作,分为两个关卡。第1关任务是将键盘输入的字符(以#结束)存入`file1.txt`并显示输出;第2关任务是从键盘输入若干行文本(每行不超过80个字符,用-1作为结束标志),写入`file2.txt`后再读取并显示。文中详细讲解了文件的打开、读取(使用`fgetc()`和`fgets()`)、写入(使用`fputc()`和`fputs()`)及关闭操作,并提供了示例代码和测试说明。
270 5
|
11月前
|
存储 程序员 C语言
【C语言】文件操作函数详解
C语言提供了一组标准库函数来处理文件操作,这些函数定义在 `<stdio.h>` 头文件中。文件操作包括文件的打开、读写、关闭以及文件属性的查询等。以下是常用文件操作函数的详细讲解,包括函数原型、参数说明、返回值说明、示例代码和表格汇总。
387 9
|
存储 缓存 C语言
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(下)
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(下)
|
C语言
C语言进阶——sprintf与sscanf、文件的随机读写(fseek、ftell、rewind)
C语言进阶——sprintf与sscanf、文件的随机读写(fseek、ftell、rewind)
147 0
|
存储 C语言
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(中)
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(中)
|
编译器 数据库 C语言
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(上)
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识(上)
|
C语言 BI 人工智能
C语言及程序设计进阶例程-36 文件的随机读写
贺老师教学链接 C语言及程序设计进阶 本课讲解 示例:写到尾再从头读 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; int main() { int a[10], b[10], i; FILE *iofile; if((iofile=fopen("f1.dat","w+"))==NULL)
1116 0