Share via


_CrtSetReportFile

_CrtSetReportMode Po zadání _CRTDBG_MODE_FILEmůžete zadat popisovač souboru pro příjem textu zprávy. _CrtSetReportFileslouží _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_ERRORa _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 reportTypeneplatná 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 EINVALa funkce vrátí _CRTDBG_HFILE_ERROR. Další informace naleznete v tématu errno, _doserrno, _sys_errlista _sys_nerr.

Poznámky

_CrtSetReportFile slouží k _CrtSetReportMode definování cíle nebo cílů pro konkrétní typ sestavy vygenerovaný _CrtDbgReportfunkcí . 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 , stderrmusí být přesměrovány před tím, stdinstdoutnež 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

Viz také

Rutiny ladění