Freigeben über


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

  1. Verwenden Sie die Read Funktionen und Write Member, um Daten in der Datei zu lesen und zu schreiben.

    Oder

  2. 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).

Siehe auch

Dateien