C语言中以写入模式打开现有文件


C语言中的fopen()方法用于打开指定的文件。

让我们举个例子来理解这个问题

语法

FILE *fopen(filename, mode)

以下是使用fopen()打开文件的有效模式:'r'、'w'、'a'、'r+'、'w+'、'a+'。详情请访问 访问C库函数 - fopen()

以写入模式打开现有文件

如果要打开的文件在当前目录中不存在,则会创建一个新的空文件并以写入模式打开。

如果要打开的文件存在于当前目录中,并且使用'w'/'w+'打开,则在写入之前会删除其内容。

示例

程序说明解决方案的工作原理

#include <stdio.h>
#include <stdlib.h>

int main(){

   FILE *opFile = fopen("test.txt", "w");
   if (opFile == NULL){

      puts("Couldn't open file");
      exit(0);
   }
   else{

      fputs("includehelp", opFile);
      puts("Write operation successful");
      fclose(opFile);
   }
   return 0;
}

输出

Write operation successful

文件的初始内容 - C编程语言

追加操作后的内容 - include help 

写入操作完成了它的工作,但删除了在执行写入操作之前存在于文件中的所有内容。为了解决这个问题,C编程语言已经更新为两种不同的方法,程序员可以根据程序的需求使用这些方法。

  • 'a'(追加)模式 - 此模式将新内容追加到文件中写入的内容末尾。

  • 'wx'模式 - 如果文件已存在于目录中,则此模式将返回NULL。

示例

程序说明使用'a'模式对现有文件进行写入操作

#include <stdio.h>
#include <stdlib.h>

int main(){

   FILE *opFile = fopen("test.txt", "a");
   if (opFile == NULL){

      puts("Couldn't open file");
      exit(0);
   }
   else{

      fputs("includehelp", opFile);
      puts("Write operation successful");
      fclose(opFile);
   }
   return 0;
}

输出

Write operation successful

文件的初始内容 - C编程语言

追加操作后的内容 - C编程语言 includehelp

示例

程序说明使用'wx'模式对现有文件进行写入操作

#include <stdio.h>
#include <stdlib.h>

int main(){

   FILE *opFile = fopen("test.txt", "wx");
   if (opFile == NULL){

      puts("Couldn't open file");
      exit(0);
   }
   else{

      fputs("includehelp", opFile);
      puts("Write operation successful");
      fclose(opFile);
   }
   return 0;
}

输出

Write operation successful

更新于: 2022年2月1日

1K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告