Condividi tramite


Lettura e scrittura di file

Se sono state usate le funzioni di gestione dei file della libreria di runtime C, le operazioni di lettura e scrittura di MFC risulteranno familiari. Questo articolo descrive la lettura diretta da e la scrittura diretta su un oggetto CFile. È anche possibile eseguire operazioni di I/O di file memorizzate nel buffer con la classe CArchive .

Per leggere e scrivere nel file

  1. Usare le funzioni membro Read e Write per leggere e scrivere dati nel file.

    oppure

  2. La funzione membro Seek è disponibile anche per spostarsi a un offset specifico all'interno del file.

Read accetta un puntatore a un buffer e il numero di byte da leggere, restituendo il numero effettivo di byte letti. Se non è stato possibile leggere il numero di byte richiesto perché viene raggiunta la fine del file (EOF), viene restituito il numero effettivo di byte letti. Se si verifica un errore di lettura, viene generata un'eccezione. Write è simile a Read, ma il numero di byte scritti non viene restituito. Se si verifica un errore di scrittura, inclusa la mancata scrittura di tutti i byte specificati, viene generata un'eccezione. Se si dispone di un oggetto valido CFile , è possibile leggerlo o scrivervi come illustrato nell'esempio seguente:

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 ) ); 
}

Annotazioni

In genere è consigliabile eseguire operazioni di input/output all'interno di un try/catch blocco di gestione delle eccezioni. Per altre informazioni, vedere Gestione delle eccezioni (MFC).

Vedere anche

File