天天看點

linux函數代碼操練---檔案操作-----05fopen()函數

基礎知識

打開一個檔案并且傳回一個檔案指針。

函數原型為

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

實驗内容

①用fopen()打開一個檔案

②探究不同的打開方式

③傳回值的探究

用fopen()打開一個檔案

程式截圖

linux函數代碼操練---檔案操作-----05fopen()函數

運作結果

linux函數代碼操練---檔案操作-----05fopen()函數

說明

程式以可寫的方式打開檔案test.txt,并傳回一個FILE指針,該指針不為空。打開檔案必須做這一步的檢查

探究不同的打開方式

①w

程式截圖

linux函數代碼操練---檔案操作-----05fopen()函數

運作結果

linux函數代碼操練---檔案操作-----05fopen()函數

說明

打開的檔案先被清空,可寫但不可以讀。檔案不存在則建立

②w+

程式截圖

linux函數代碼操練---檔案操作-----05fopen()函數

運作結果

linux函數代碼操練---檔案操作-----05fopen()函數

說明

用w+方式打開的檔案既可以讀也可以寫。檔案打開後内容被清空,如果檔案不存在則會建立一個空檔案

③r

程式截圖

linux函數代碼操練---檔案操作-----05fopen()函數

運作結果

linux函數代碼操練---檔案操作-----05fopen()函數

說明

用r打開的檔案隻可以讀不可以寫,如果檔案不存在,則打開失敗!

④r+、

程式截圖

linux函數代碼操練---檔案操作-----05fopen()函數

運作結果

linux函數代碼操練---檔案操作-----05fopen()函數

說明

用r+打開的檔案可以也可以寫,起始位置在檔案開頭,與w+的差別在于檔案不存在則打開失敗,檔案内容不會被清空

⑤a

程式截圖

linux函數代碼操練---檔案操作-----05fopen()函數

運作截圖

linux函數代碼操練---檔案操作-----05fopen()函數

說明

用a打開的檔案可寫但不可以讀,寫入位置在檔案末尾,檔案不存在時會自動建立檔案

⑥a+

程式截圖

linux函數代碼操練---檔案操作-----05fopen()函數

運作結果

linux函數代碼操練---檔案操作-----05fopen()函數

說明

用a+打開檔案可讀可寫,指針位置在檔案尾,如果檔案不存在會自動建立。

傳回值的探究

fopen函數調用失敗時傳回一個NULL指針

fopen函數調用成功時傳回一個FILE指針

問題思考

檔案說明情況下會打開失敗

①受到打開方式的影響如以r打開檔案但是檔案不存在時。

②程式對檔案沒有相應的權限

③檔案已經被其他程式占用

繼續閱讀