Sdílet prostřednictvím


Č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

  1. Read Pomocí členských Write funkcí 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