Freigeben über


Öffnen von Dateien

In MFC ist die gängigste Methode, eine Datei zu öffnen ein zweistufiger Prozess.

So laden Sie eine Datei öffnen

  1. Erstellen Sie das Dateiobjekt, ohne einem Pfad oder Berechtigungsflags anzugeben.

    Sie erstellen in der Regel ein Dateiobjekt, indem Sie eine Variable Die C-Datei auf dem Stapelrahmen deklarieren.

  2. Rufen Sie die Memberfunktion Öffnen für das Dateiobjekt auf und einem Pfad und Berechtigungsflags angeben.

    Der Rückgabewert von Open ist ungleich 0 (null), wenn die Datei erfolgreich oder 0 geöffnet war, wenn die angegebene Datei nicht geöffnet werden kann. Die Open-Memberfunktion wird einen Prototyp entwickelt, wie folgt:

    virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );

    Die offenen Flags geben an, die Berechtigungen, z schreibgeschütztes, Sie für die Datei soll. Mögliche Flagwerte werden als Konstanten der Enumeration innerhalb der CFile-Klasse definiert, sodass sie mit "CFile::" wie in CFile::modeRead qualifiziert. Verwenden Sie das CFile::modeCreate-Flag, wenn Sie die Datei erstellen möchten.

Das folgende Beispiel zeigt, wie eine neue Datei mit Lese-/Schreibberechtigung erstellt (der vorherige eine Datei mit demselben Pfad ersetzen):

TCHAR* pszFileName = _T("c:\\test\\myfile.dat");
CFile myFile;
CFileException fileException;

if ( !myFile.Open( pszFileName, CFile::modeCreate |   
        CFile::modeReadWrite, &fileException ) )
{
   TRACE( _T("Can't open file %s, error = %u\n"),
      pszFileName, fileException.m_cause );
}   

Hinweis

Dieses Beispiel erstellt und öffnet eine Datei.Wenn es dabei Probleme gibt, kann der Aufruf Open in einem CFileException-Objekt seiner letzten Parameter zurückgeben, wie hier gezeigt.Das TRACE-Makro gibt den Dateinamen und einen Code, die den Grund für Fehler angeben.Sie können die Funktion AfxThrowFileException aufrufen, wenn Sie einen Fehlerbericht benötigen.

Siehe auch

Referenz

CFile-Klasse

CFile::Open

Konzepte

Dateien in MFC