開啟檔案
在 MFC 中,最常見的方式來開啟檔案是兩階段處理程序。
若要開啟的檔案
建立檔案物件,但未指定路徑和使用權限的旗標。
您通常會藉由宣告建立檔案物件 CFile 變數的堆疊框架上。
呼叫開啟檔案物件,提供路徑和使用權限的旗標的成員函式。
傳回值為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函式,如果您需要更詳細的錯誤報告。 |