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 direttamente in un CFile
oggetto . È anche possibile eseguire operazioni di I/O di file memorizzate nel buffer con la classe CArchive .
Per leggere e scrivere nel file
Usare le
Read
funzioni membro eWrite
per leggere e scrivere dati nel file.-oppure-
La
Seek
funzione membro è disponibile anche per il passaggio a un offset specifico all'interno del file.
Read
accetta un puntatore a un buffer e il numero di byte da leggere e restituisce 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 ) );
}
Nota
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).