Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
Um aus der Datei zu lesen und in die Datei zu schreiben
Verwenden Sie die
Read- undWrite-Memberfunktionen, um Daten in der Datei zu lesen und zu schreiben.-oder-
Die
SeekMember-Funktion ist auch verfügbar, um zu einem bestimmten Offset innerhalb der Datei zu wechseln.
Read nimmt einen Zeiger auf einen Puffer und die Anzahl der zu lesenden Bytes an 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 Nicht-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).