CFile::CFile 

CFile( );

CFile ( Int hFile );

CFile ( LPCTSTR LpszFileName, UINT nOpenFlags );
werfen ( CFileException );

Parameter

hFile

Das Handle der Datei, die bereits geöffnet ist.

lpszFileName

Eine Zeichenfolge, die den Pfad zur gewünschten Datei ist. Der Pfad kann relativ oder absolut sein.

nOpenFlags

Austausch und Modus. Gibt die Aktion an, die beim Öffnen der Datei. Sie können mithilfe des bitweisen OR (|)-Operators unten aufgeführte Optionen kombinieren. Eine Zugriffsberechtigung und einer Aktienoption sind erforderlich; die Modi ModeCreate und ModeNoInherit sind optional. Die Werte sind wie folgt:

Bemerkungen

Der Standardkonstruktor wird eine Datei nicht geöffnet, sondern vielmehr setzt M_hFile auf CFile::hFileNull. Da dieser Konstruktor keine Ausnahme auslöst, es ist nicht sinnvoll zu verwenden versuchen/CATCH- Logik. Verwenden Sie die Open -Memberfunktion, dann direkt für Ausnahmebedingungen zu testen. Eine Erläuterung der Ausnahme-Strategie, finden Sie im Artikel Ausnahmen im Visual C++ Programmer's Guide.

Der Konstruktor mit einem Argument erstellt ein CFile -Objekt, das eine vorhandene Betriebssystem-Datei festgelegten hFileentspricht. Auf den Zugriffstyp Modus oder Datei wird keine Überprüfung durchgeführt. Wenn das CFile -Objekt zerstört wird, wird die Betriebssystemdatei nicht geschlossen werden. Sie müssen die Datei selbst schließen.

Der Konstruktor mit zwei Argumenten ein CFile -Objekt erstellt und öffnet die entsprechende Betriebssystem-Datei mit den angegebenen Pfad. Dieser Konstruktor kombiniert die Funktionen der den ersten Konstruktor und der Open -Memberfunktion. Es löst eine Ausnahme, wenn beim Öffnen der Datei ein Fehler vorliegt. Im Allgemeinen bedeutet dies, dass der Fehler nicht wiederherstellbar ist und der Benutzer benachrichtigt werden soll.

Beispiel

//Example für CFile::CFile
Char * pFileName = "test.dat";
VERSUCHEN
{
   CFile f (pFileName, modeCreate | CFile::modeWrite);
}
CATCH (CFileException, e)
{
   # ifdef _DEBUG
      AfxDump Lt; < "Datei konnte nicht geöffnet werden" << e-> M_cause << "\n";
   # endif
}
END_CATCH

CFile ÜbersichtMember der Klasse | Hierarchiediagramm

Index