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.
Nachdem Sie _CrtSetReportMode verwendet haben, um _CRTDBG_MODE_FILE anzugeben, können Sie das Dateihandle angeben, um den Meldungstext zu empfangen. _CrtSetReportFile wird auch von _CrtDbgReport, _CrtDbgReportW verwendet, um das Ziel des Texts anzugeben (nur Debugversion).
Syntax
_HFILE _CrtSetReportFile(
int reportType,
_HFILE reportFile
);
Parameter
reportType
Berichtstyp: _CRT_WARN, _CRT_ERROR und _CRT_ASSERT.
reportFile
Neue Berichtsdatei für reportType.
Rückgabewert
Nach erfolgreichem Abschluss gibt _CrtSetReportFile die vorherige Berichtsdatei zurück, die für den Berichtstyp definiert ist, der in reportType angegeben wird. Wenn ein ungültiger Wert für reportType übergeben wird, ruft diese Funktion den Handler für ungültigen Parameter auf, wie in Parametervalidierung. Wenn die weitere Ausführung zugelassen wird, wird errno auf EINVAL festgelegt, und die Funktion gibt _CRTDBG_HFILE_ERROR beschrieben. Weitere Informationen finden Sie untererrno, _doserrno, _sys_errlistund _sys_nerr.
Hinweise
_CrtSetReportFile wird mit der _CrtSetReportMode-Funktion verwendet, um das Ziel oder die Ziele für einen angegebenen Berichtstyp zu definieren, der von _CrtDbgReport generiert wird. Wenn Sie _CrtSetReportMode aufrufen, um den _CRTDBG_MODE_FILE Berichtsmodus für einen bestimmten Berichtstyp zuzuweisen, rufen Sie auch _CrtSetReportFile auf, um die Zieldatei oder den Zieldatenstrom anzugeben. Wenn _DEBUG nicht definiert ist, werden Aufrufe von _CrtSetReportFile während der Vorverarbeitung entfernt.
In der folgenden Liste werden die verfügbaren Optionen für reportFile sowie das resultierende Verhalten von _CrtDbgReport aufgeführt. Diese Optionen werden als Bitflags in Crtdbg.h definiert.
Dateihandle
Ein Handle für die Datei, die das Ziel der Meldungen ist. Es wird nicht versucht, die Gültigkeit des Handles zu überprüfen. Sie müssen das Handle für die Datei öffnen und schließen. Zum Beispiel:
HANDLE hLogFile; hLogFile = CreateFile("c:\\log.txt", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE); _CrtSetReportFile(_CRT_WARN, hLogFile); _RPT0(_CRT_WARN,"file message\n"); CloseHandle(hLogFile);_CRTDBG_FILE_STDERRSchreibt Meldungen an
stderr, die wie folgt umgeleitet werden können:freopen( "c:\\log2.txt", "w", stderr); _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE); _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR); _RPT0(_CRT_ERROR,"1st message\n");_CRTDBG_FILE_STDOUTSchreibt Meldungen für
stdout, die umgeleitet werden können._CRTDBG_REPORT_FILEGibt den aktuellen Berichtsmodus zurück.
Sie können die Berichtsdatei steuern, die von jedem Berichtstyp separat verwendet wird. Beispielsweise ist es möglich, anzugeben, dass ein reportType _CRT_ERROR Bericht von Berichten durchlaufen stderrwird, während ein reportType _CRT_ASSERT Bericht über ein benutzerdefiniertes Dateihandle oder einen Datenstrom erstellt wird.
Anforderungen
| Routine | Erforderlicher Header | Optionaler Header |
|---|---|---|
_CrtSetReportFile |
<crtdbg.h> | <errno.h> |
Die Konsole wird in UWP-Apps (Universelle Windows-Plattform) nicht unterstützt. Die mit der Konsole verknüpften Standardstreamhandles stdin, stdout und stderr müssen umgeleitet werden, bevor sie von C-Laufzeitfunktionen in UWP-Apps verwendet werden können. Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Bibliotheken: Nur Debugversionen der CRT-Bibliotheksfunktionen.