http://m.shnenglu.com/iuranus/archive/2008/12/25/70315.html
最近寫一個文件操作類,fopen的參數著實讓我搞了半天,因為以前就是固定的方式讀寫文件的,現在要做靈活了,所以就有些參數理解不夠準確。以下是關于mode參數的定義。
'r' 只讀方式打開,將文件指針指向文件頭,如果文件不存在,則File返回空。
'r+' 讀寫方式打開,將文件指針指向文件頭,如果文件不存在,則File返回空。
'w' 寫入方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創建之。
'w+' 讀寫方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創建之。
'a' 寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。
'a+' 讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。
'x' 創建并以寫入方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調用失敗并返回 FALSE。
'x' 創建并以寫入方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調用失敗并返回 FALSE。
'b' 使用字符b作為文件類型的判斷,是否是binary文件。
還有在讀文件時最好先判斷下該文件是否存在
bool ClassA::IsFileExisted(const char* filePath)
{
struct stat info;
if(stat(filePath, &info) != 0)
{
return false;
}
else
return true;
}
posted on 2008-12-25 12:59
Sandy 閱讀(846)
評論(0) 編輯 收藏 引用 所屬分類:
C++