C 速查手冊

11.7.1 fopen()

stdio.h函數 (function) fopen() 可以打開檔案,然後將處理檔案的必要資訊儲存給回傳的 FILE結構 (structure) ,總共需要兩個字串 (string) 參數 (parameter) ,第一個字串為檔案名稱,第二個字串則是開啟模式。

開啟模式如下列表

模式功能
"r"讀取文字檔案
"w"新建文字檔案並寫入資料
"a"將資料附加在該文字檔案之後
"rb"讀取二進位檔
"wb"新建二進位檔並寫入資料
"ab"將資料附加在該二進位檔之後
"r+"讀取文字檔案並寫入資料
"w+"新建文字檔案並讀取、寫入資料
"a+"讀取文字檔案將附加資料在檔案最後
"rb+" 或 "r+b"讀取二進位檔並寫入資料
"wb+" 或 "w+b"新建二進位檔並讀取、寫入資料
"ab+" 或 "a+b"讀取二進位檔將附加資料在檔案最後

以下程式嘗試讀取不存在的檔案

#include <stdio.h>

int main(void)
{
    FILE *fPtr;
    
    fPtr = fopen("notexist.txt", "r");
    if (fPtr) {
        printf("檔案開啟成功...\n");
        fclose(fPtr);
    }
    else {
        printf("檔案開啟失敗...\n");
    }
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://kaiching.org/
    檔名:cfopen1.c
    功能:示範 stdio.h 中函數 fopen() 的使用
    作者:張凱慶 */

編譯後執行,結果如下

$ gcc cfopen1.c
$ a.out
檔案開啟失敗...
$

以下程式建立新的檔案

#include <stdio.h>

int main(void)
{
    FILE *fPtr;
    
    fPtr = fopen("newfile.txt", "w");
    if (fPtr) {
        printf("檔案建立成功...\n");
        fclose(fPtr);
    }
    else {
        printf("檔案建立失敗...\n");
    }
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://kaiching.org/
    檔名:cfopen2.c
    功能:示範 stdio.h 中函數 fopen() 的使用
    作者:張凱慶 */

編譯後執行,結果如下

$ gcc cfopen2.c
$ a.out
檔案建立成功...
$

上一頁 11.7 檔案處理 stdio.h
回 C 速查手冊 - 標準程式庫分類索引
下一頁 11.7.2 freopen()
回 C 速查手冊 - 標準程式庫導覽
回 C 速查手冊首頁
回 C 教材首頁
回程式語言教材首頁