Sdílet prostřednictvím


Čtení a zápis souborů

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 . Také můžete provádět vstupně-výstupní operace se soubory ve vyrovnávací paměti pomocí třídy CArchive.

Čtení ze souboru a zápis do souboru

  1. Pomocí členských funkcí Read a Write můžete číst a zapisovat data v souboru.

    nebo

  2. Č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).

Viz také

Soubory