開啟檔案
在 MFC 中,最常見的開啟檔案方式是一個兩階段的程序。
開啟檔案
建立檔案物件,而不指定路徑或使用權限旗標。
您通常會在堆疊框架上宣告 CFile 變數來建立檔案物件。
呼叫檔案物件的 Open 成員函式,並提供路徑和許可權旗標。
如果已成功開啟檔案,
Open
會傳回非零值,如果無法開啟指定的檔案則會傳回 0。Open
成員函式的原型如下:virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );
開啟旗標指定您要為檔案指定的使用權限,例如唯讀。 可能的旗標值會在
CFile
類別中定義為列舉常數,使其符合 "CFile::
" 的格式,如CFile::modeRead
。 如果您要建立檔案,請使用CFile::modeCreate
旗標。
下列範例顯示如何建立具有讀取/寫入權限的新檔案 (取代任何具有相同路徑的舊檔案):
TCHAR* pszFileName = _T("c:\\test\\myfile.dat");
CFile myFile;
CFileException fileException;
if ( !myFile.Open( pszFileName, CFile::modeCreate |
CFile::modeReadWrite, &fileException ) )
{
TRACE( _T("Can't open file %s, error = %u\n"),
pszFileName, fileException.m_cause );
}
注意
這個範例會建立並開啟檔案。 如果發生問題,則 Open
可能會在它的最後一個參數中傳回 CFileException
物件,如下所示。 TRACE 宏會列印檔案名和程式碼,指出失敗的原因。 如果需要更詳細的錯誤報告,您可以呼叫 AfxThrowFileException
函式。