Otevírání souborů
Nejběžnějším způsobem otevření souboru v prostředí MFC je dvoufázový proces.
Otevření souboru
Vytvořte objekt souboru bez zadání cesty nebo příznaku oprávnění.
Objekt souboru obvykle vytvoříte deklarací proměnné CFile v rámci zásobníku.
Zavolejte funkci Otevřít člena pro objekt souboru a zadejte cestu a příznaky oprávnění.
Vrácená hodnota
Open
bude nenulová, pokud byl soubor úspěšně otevřen nebo 0, pokud zadaný soubor nelze otevřít. ČlenováOpen
funkce je prototypována následujícím způsobem:virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );
Otevřené příznaky určují, která oprávnění, například jen pro čtení, chcete pro soubor. Možné hodnoty příznaku jsou definovány jako výčtové konstanty v rámci
CFile
třídy, takže jsou kvalifikované pomocí "CFile::
" jako vCFile::modeRead
. PokudCFile::modeCreate
chcete vytvořit soubor, použijte příznak.
Následující příklad ukazuje, jak vytvořit nový soubor s oprávněním ke čtení a zápisu (nahrazení předchozího souboru stejnou cestou):
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 );
}
Poznámka
Tento příklad vytvoří a otevře soubor. Pokud dojde k problémům, Open
volání může vrátit CFileException
objekt v posledním parametru, jak je znázorněno zde. Makro TRACE vytiskne název souboru i kód označující důvod selhání. Funkci můžete volat AfxThrowFileException
, pokud potřebujete podrobnější hlášení chyb.