Lesen und Schreiben von Dateien
Wenn Sie die Dateibehandlungsfunktionen der C-Laufzeitbibliothek verwendet haben, sind MFC-Lese- und Schreibvorgänge vertraut. In diesem Artikel wird beschrieben, direkt aus einem Objekt zu lesen und direkt in ein CFile
Objekt zu schreiben. Sie können auch gepufferte Datei-E/A mit der CArchive-Klasse ausführen.
So lesen und schreiben Sie in die Datei
Verwenden Sie die
Read
Funktionen undWrite
Member, um Daten in der Datei zu lesen und zu schreiben.Oder
Die
Seek
Memberfunktion ist auch für das Verschieben in einen bestimmten Offset innerhalb der Datei verfügbar.
Read
nimmt einen Zeiger auf einen Puffer und die Anzahl der zu lesenden Bytes und gibt die tatsächliche Anzahl der gelesenen Bytes zurück. Wenn die erforderliche Anzahl von Bytes nicht gelesen werden konnte, weil das Ende der Datei (EOF) erreicht ist, wird die tatsächliche Anzahl der gelesenen Bytes zurückgegeben. Wenn ein Lesefehler auftritt, wird eine Ausnahme ausgelöst. Write
ähnelt Read
, aber die Anzahl der geschriebenen Bytes wird nicht zurückgegeben. Wenn ein Schreibfehler auftritt, einschließlich des Schreibens aller angegebenen Bytes, wird eine Ausnahme ausgelöst. Wenn Sie über ein gültiges CFile
Objekt verfügen, können Sie es lesen oder in das Objekt schreiben, wie im folgenden Beispiel gezeigt:
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 ) );
}
Hinweis
Normalerweise sollten Sie Eingabe-/Ausgabevorgänge innerhalb eines try
/catch
Ausnahmebehandlungsblocks ausführen. Weitere Informationen finden Sie unter Exception Handling (MFC).