_CrtSetReportFile
Po použití _CrtSetReportMode k určení _CRTDBG_MODE_FILE můžete zadat popisovač souboru k přijetí textu zprávy._CrtSetReportFile používá také _CrtDbgReport, _CrtDbgReportW k určení cíle textu (pouze ladicí verze).
_HFILE _CrtSetReportFile(
int reportType,
_HFILE reportFile
);
Parametry
reportType
Typ sestavy: _CRT_WARN, _CRT_ERROR a _CRT_ASSERT.reportFile
Nový soubor sestavy pro reportType.
Vrácená hodnota
Po úspěšném dokončení _CrtSetReportFile vrátí předchozí soubor sestavy definovaný pro typ sestavy určený v reportType.Pokud je neplatná hodnota předána pro reportType tato funkce vyvolá neplatnou obslužnou rutinu parametru, jak je popsáno v Ověření parametru.Pokud smí provádění pokračovat, errno se nastaví na EINVAL a funkce vrátí _CRTDBG_HFILE_ERROR.Další informace naleznete v tématu errno, _doserrno, _sys_errlist, and _sys_nerr.
Poznámky
_CrtSetReportFile se používá s funkcí _CrtSetReportMode k definování cíle nebo cílů pro typ konkrétní sestavy generované _CrtDbgReport.Když byla zavolána _CrtSetReportMode k přiřazení režimu sestav _CRTDBG_MODE_FILE pro konkrétní typ sestavy, _CrtSetReportFile by měla být volána pro definování konkrétního souboru nebo datového proudu, který se má použít jako cíl.Když _DEBUG není definován, jsou volání do _CrtSetReportFile odstraněna během předběžného zpracování.
Následující tabulka obsahuje seznam dostupných možností pro reportFile a výsledné chování _CrtDbgReport.Tyto možnosti jsou definovány jako bitové příznaky v souboru Crtdbg.h.
file handle
Popisovač souboru, který bude cílem pro zprávy.K ověření platnosti popisovače nejsou provedeny žádné pokusy.Musíte otevřít a zavřít popisovač souboru.Příklad: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_STDERR
Zapíše zprávu do stderr, který může být přesměrován takto: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_STDOUT
Zapisuje zprávu do stdout, který lze přesměrovat._CRTDBG_REPORT_FILE
Vrátí aktuální režim sestavy.
Soubor sestavy používaný jednotlivými typy sestavy lze ovládat samostatně.Je například možné určit, že reportType**_CRT_ERROR** má být oznámen do stderr, zatímco reportType**_CRT_ASSERT** má být oznámen do obslužné rutiny nebo datového proudu uživatelem definovaného souboru.
Požadavky
Rutina |
Požadované záhlaví |
Volitelné záhlaví |
---|---|---|
_CrtSetReportFile |
<crtdbg.h> |
<errno.h> |
Konzola není v aplikacích Windows Store podporována.Standardní datový proud popisovačů, které jsou spojeny s konzolou – stdin, stdout a stderr, musí být přesměrován před použitím funkcí jazyka C run-time je v aplikacích Windows Store.Další informace o kompatibilitě naleznete v tématu Kompatibilita.
Knihovny: Pouze verze ladění knihoven Funkce knihovny CRT.
Ekvivalent v rozhraní .NET Framework
Nelze použít. Pokud chcete volat standardní funkci jazyka C, použijte PInvoke. Další informace naleznete v tématu Příklady vyvolání platformy.