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 |
檔案建立成功... |
$ |