國立屏東商業技術學院 資訊工程系 程式設計(一)

21. 檔案輸出輸入處理


在C語言中,檔案的處理是透過「檔案指標(file pointer)」來進行的,其型態為「FILE *」,定義於「stdio.h」中。

要使用一個檔案前,必須先使用下列函式開啟檔案,它會傳回一個檔案指標:

FILE *fopen(const char *filename, const char *mode);

以下是開啟檔案的例子:

fopen("/somewhere/on/your/system/test.dat", "r");
 
若是在Windows系統,則可以參考下例:
 
fopen("C:\\somewhere\\on\\your\\disk\\test.dat", "r");
 
fopen("C:/somewhere/on/your/disk/test.dat", "r");

其中第二個參數是開啟檔案的模式,可以使用的選項有:

模式意義
“r” 「文字檔」唯讀
“w” 「文字檔」寫入(檔案可以不存在)
“a” 「文字檔」appending(檔案可以不存在)
“r+” 「文字檔」從檔案開頭處開啟,可讀取與寫入
“w+” 「文字檔」讀取與寫入(檔案若存在會被覆寫)
“a+” 「文字檔」讀取與寫入(檔案若存在會寫入在最後面)
“rb” 「二元檔」唯讀
“wb” 「二元檔」寫入(檔案可以不存在)
“ab” 「二元檔」appending(檔案可以不存在)
“rb+” 或 “r+b” 「二元檔」從檔案開頭處開啟,可讀取與寫入
“wb+” 或 “w+b” 「二元檔」讀取與寫入(檔案若存在會被覆寫)
“ab+” 或 “a+b” 「二元檔」讀取與寫入(檔案若存在會寫入在最後面)

所有在程式中開啟的檔案,可以使用「fclose()函式」加以關閉,請參考下面的程式:

#include <stdio.h>
#include <stdlib.h>
 
int main()
{
  FILE *fp =
    fopen("/home/teacher/junwu/courses/2014-Spring-C/ch21/file.c", "r"); 
 
  if(fp == NULL)
  {
    printf("Can't open the file.\n");
    exit(EXIT_FAILURE);
  }
 
 
  fclose(fp);
  return 0;
}