基礎知識
打開一個檔案并且傳回一個檔案指針。
函數原型為
FILE* fopen(const char* filename,const char mode
實驗内容
①用fopen()打開一個檔案
②探究不同的打開方式
③傳回值的探究
用fopen()打開一個檔案
程式截圖
運作結果
說明
程式以可寫的方式打開檔案test.txt,并傳回一個FILE指針,該指針不為空。打開檔案必須做這一步的檢查
探究不同的打開方式
①w
程式截圖
運作結果
說明
打開的檔案先被清空,可寫但不可以讀。檔案不存在則建立
②w+
程式截圖
運作結果
說明
用w+方式打開的檔案既可以讀也可以寫。檔案打開後内容被清空,如果檔案不存在則會建立一個空檔案
③r
程式截圖
運作結果
說明
用r打開的檔案隻可以讀不可以寫,如果檔案不存在,則打開失敗!
④r+、
程式截圖
運作結果
說明
用r+打開的檔案可以也可以寫,起始位置在檔案開頭,與w+的差別在于檔案不存在則打開失敗,檔案内容不會被清空
⑤a
程式截圖
運作截圖
說明
用a打開的檔案可寫但不可以讀,寫入位置在檔案末尾,檔案不存在時會自動建立檔案
⑥a+
程式截圖
運作結果
說明
用a+打開檔案可讀可寫,指針位置在檔案尾,如果檔案不存在會自動建立。
傳回值的探究
fopen函數調用失敗時傳回一個NULL指針
fopen函數調用成功時傳回一個FILE指針
問題思考
檔案說明情況下會打開失敗
①受到打開方式的影響如以r打開檔案但是檔案不存在時。
②程式對檔案沒有相應的權限
③檔案已經被其他程式占用