linux函數代碼操練---文件操作-----05fopen()函數

基礎知識

打開一個文件並且返回一個文件指針。
函數原型爲
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打開文件但是文件不存在時。
②程序對文件沒有相應的權限
③文件已經被其他程序佔用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章