Öffnen von Dateien

In MFC ist die am häufigsten verwendete Methode zum Öffnen einer Datei ein zweistufiger Prozess.

So öffnen Sie eine Datei

  1. Erstellen Sie das Dateiobjekt, ohne einen Pfad oder eine Berechtigungskennzeichnung anzugeben.

    Normalerweise erstellen Sie ein Dateiobjekt, indem Sie eine CFile-Variable im Stapelframe deklarieren.

  2. Rufen Sie die Open-Memberfunktion für das Dateiobjekt auf, und geben Sie einen Pfad und Berechtigungskennzeichnungen an.

    Der Rückgabewert Open ist nicht null, wenn die Datei erfolgreich geöffnet wurde, oder 0, wenn die angegebene Datei nicht geöffnet werden konnte. Die Open Memberfunktion wird wie folgt prototypiert:

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

    Die geöffneten Flags geben an, welche Berechtigungen, z. B. schreibgeschützt, für die Datei verwendet werden sollen. Die möglichen Flagwerte werden als aufgezählte Konstanten innerhalb der CFile Klasse definiert, sodass sie mit "CFile::" wie in CFile::modeReadqualifiziert sind. Verwenden Sie das CFile::modeCreate Flag, wenn Sie die Datei erstellen möchten.

Das folgende Beispiel zeigt, wie Sie eine neue Datei mit Lese-/Schreibberechtigung erstellen (ersetzen Sie alle vorherigen Dateien durch denselben Pfad):

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

In diesem Beispiel wird eine Datei erstellt und geöffnet. Wenn Probleme auftreten, kann der Open Aufruf ein CFileException Objekt in seinem letzten Parameter zurückgeben, wie hier gezeigt. Das TRACE-Makro druckt sowohl den Dateinamen als auch einen Code, der den Grund für den Fehler angibt. Sie können die AfxThrowFileException Funktion aufrufen, wenn Sie detailliertere Fehlerberichte benötigen.

Siehe auch

CFile-Klasse
CFile::Open
Dateien