_CrtSetReportFile
_CrtSetReportMode
Po zadání _CRTDBG_MODE_FILE
můžete zadat popisovač souboru pro příjem textu zprávy. _CrtSetReportFile
slouží _CrtDbgReport
_CrtDbgReportW
také k určení cíle textu (pouze ladicí verze).
Syntaxe
_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 zadaný v reportType
. Pokud je pro tuto funkci předána reportType
neplatná hodnota, vyvolá tato funkce neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je povoleno pokračovat provádění, errno
je nastavena na EINVAL
a funkce vrátí _CRTDBG_HFILE_ERROR
. Další informace naleznete v tématu errno
, _doserrno
, _sys_errlist
a _sys_nerr
.
Poznámky
_CrtSetReportFile
slouží k _CrtSetReportMode
definování cíle nebo cílů pro konkrétní typ sestavy vygenerovaný _CrtDbgReport
funkcí . Když zavoláte _CrtSetReportMode
pro přiřazení _CRTDBG_MODE_FILE
režimu generování sestav pro konkrétní typ sestavy, zavolejte _CrtSetReportFile
také k určení cílového souboru nebo datového proudu. Pokud _DEBUG
není definováno, volání, která _CrtSetReportFile
se mají odebrat během předběžného zpracování.
Následující seznam ukazuje dostupné volby pro reportFile
a výsledné chování _CrtDbgReport
. Tyto možnosti jsou definovány jako příznaky bitů v Crtdbg.h.
popisovač souboru
Popisovač souboru, který bude cílem zpráv. Není proveden žádný pokus o ověření platnosti popisovače. 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ána následujícím způsobem: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
Zapíše zprávu do
stdout
, do které můžete přesměrovat._CRTDBG_REPORT_FILE
Vrátí aktuální režim sestavy.
Soubor sestavy používaný jednotlivými typy sestav můžete řídit samostatně. Je například možné určit, že reportType
sestavy _CRT_ERROR
procházejí stderr
, zatímco reportType
sestavy prostřednictvím uživatelem definovaného _CRT_ASSERT
popisovače souboru nebo datového proudu.
Požadavky
Rutina | Požadovaný hlavičkový soubor | Volitelné záhlaví |
---|---|---|
_CrtSetReportFile |
<crtdbg.h> | <errno.h> |
Konzola není podporována v aplikacích pro Univerzální platforma Windows (UPW). Standardní zpracování datových proudů, které jsou přidružené ke konzole , a , stderr
musí být přesměrovány před tím, stdin
stdout
než je funkce runtime jazyka C mohou používat v aplikacích pro UPW. Další informace o kompatibilitě najdete v tématu Kompatibilita.
Knihovny: Ladění verzí funkcí knihovny CRT