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+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.