C語言中檔案操作有哪些?


在C語言中,可以對檔案執行以下操作:

  • 命名檔案。
  • 開啟檔案。
  • 從檔案讀取。
  • 寫入檔案。
  • 關閉檔案。

語法

**開啟和命名檔案**的語法如下:

FILE *File pointer;

例如,FILE * fptr;

File pointer = fopen ("File name”, "mode”);

例如,fptr = fopen ("sample.txt”, "r”)

FILE *fp;
fp = fopen ("sample.txt”, "w”);

開啟檔案的模式

下面解釋了C語言中開啟檔案的模式:

模式描述
r以只讀方式開啟檔案
w以寫入方式開啟檔案
a+以追加方式開啟檔案
r+以讀寫方式開啟檔案
w+以寫讀方式開啟檔案
a+以追加讀方式開啟檔案
rt以文字方式開啟檔案進行讀取
wt以文字方式開啟檔案進行寫入
at以文字方式開啟檔案進行追加
r+t以文字方式開啟檔案進行讀寫
w+t以文字方式開啟檔案進行寫讀
a+t以文字方式開啟檔案進行追加讀
rb以二進位制方式開啟檔案進行讀取
wb以二進位制方式開啟檔案進行寫入
ab以二進位制方式開啟檔案進行追加
r+b以二進位制方式開啟檔案進行讀寫
w+b以二進位制方式開啟檔案進行寫讀
a+b以二進位制方式開啟檔案進行追加讀。
  • 以寫入模式開啟檔案

語法如下:

FILE *fp;
fp =fopen ("sample.txt”, "w”);

如果檔案不存在,則建立一個新檔案。

如果檔案存在,則舊內容將被擦除,並存儲當前內容。

  • 以讀取模式開啟檔案

語法如下:

FILE *fp
fp =fopen ("sample.txt”, "r”);

如果檔案不存在,則fopen函式返回NULL值。

如果檔案存在,則成功從檔案讀取資料

  • 以追加模式開啟檔案

語法如下:

FILE *fp;
fp =fopen ("sample.txt", "a");

如果檔案不存在,則將建立一個新檔案。

如果檔案存在,則當前內容將新增到舊內容中。

模式退出未退出
R讀取fp="NULL"
W當前內容將建立一個新檔案
A舊內容當前內容
將建立一個新檔案

示例

以下是用於檔案操作的C程式:

 線上演示

//Program for copying the contents of one file into another file
#include <stdio.h>
#include <stdlib.h> // For exit()
int main(){
   FILE *fptr1, *fptr2;
   char filename[100], c;
   printf("Enter the filename to open for reading 
");    scanf("%s",filename);    // Open one file for reading    fptr1 = fopen(filename, "r");    if (fptr1 == NULL){       printf("Cannot open file %s
", filename);       exit(0);    }    printf("Enter the filename to open for writing
");    scanf("%s", filename);    // Open another file for writing    fptr2 = fopen(filename, "w");    if (fptr2 == NULL){       printf("Cannot open file %s
", filename);       exit(0);    }    // Read contents from file    c = fgetc(fptr1);    while (c != EOF){       fputc(c, fptr2);       c = fgetc(fptr1);    }    printf("
Contents copied to %s", filename);    fclose(fptr1);    fclose(fptr2);    return 0; }

輸出

執行上述程式時,將產生以下結果:

Enter the filename to open for reading
file2.txt
Enter the filename to open for writing
file1.txt
Contents copied to file1.txt

更新於: 2021年3月11日

6K+ 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告