Čtení ze souborů a zápis do nich
Pokud jste použili funkce zpracování souborů knihovny runtime jazyka C, budou operace čtení a zápisu knihovny MFC známé. Tento článek popisuje čtení přímo z objektu a zápis přímo do objektu CFile
. Vstupně-výstupní operace souboru ve vyrovnávací paměti můžete provést také pomocí třídy CArchive .
Čtení ze souboru a zápis do souboru
Read
Pomocí členskýchWrite
funkcí můžete číst a zapisovat data v souboru.nebo
Členová
Seek
funkce je také k dispozici pro přechod na určitý posun v souboru.
Read
vezme ukazatel na vyrovnávací paměť a počet bajtů ke čtení a vrátí skutečný počet bajtů, které byly přečteny. Pokud požadovaný počet bajtů nelze přečíst, protože je dosaženo konce souboru (EOF), vrátí se skutečný počet přečtených bajtů. Pokud dojde k nějaké chybě čtení, vyvolá se výjimka. Write
je podobný Read
, ale počet zapsaných bajtů není vrácen. Pokud dojde k chybě zápisu, včetně nezapisování všech zadaných bajtů, vyvolá se výjimka. Pokud máte platný CFile
objekt, můžete ho číst nebo zapisovat do něj, jak je znázorněno v následujícím příkladu:
TCHAR szBuffer[256];
UINT nActual = 0;
CFile myFile;
if ( myFile.Open( _T("c:\\test\\myfile.dat"), CFile::modeCreate |
CFile::modeReadWrite ) )
{
myFile.Write( szBuffer, sizeof( szBuffer ) );
myFile.Flush();
myFile.Seek( 0, CFile::begin );
nActual = myFile.Read( szBuffer, sizeof( szBuffer ) );
}
Poznámka
Normálně byste měli provádět vstupně-výstupní operace v rámci try
/catch
bloku zpracování výjimek. Další informace naleznete v tématu Zpracování výjimek (MFC).