Sdílet prostřednictvím


_CrtSetReportFile

Po určení _CRTDBG_MODE_FILE s _CrtSetReportMode, určíte popisovač souboru, chcete-li zobrazit text zprávy._CrtSetReportFileje také používán _CrtDbgReport _CrtDbgReportW k určení cílového textu (pouze ladicí verze).

_HFILE _CrtSetReportFile( 
   int reportType,
   _HFILE reportFile 
);

Parametry

  • reportType
    Report type: _CRT_WARN, _CRT_ERROR, and _CRT_ASSERT.

  • reportFile
    Nový soubor sestavy pro reportType.

Vrácená hodnota

Po úspěšném ukončení _CrtSetReportFile vrátí předchozí soubor sestavy, které jsou definovány pro zadaný typ sestavy v reportType.Pokud je předána neplatná hodnota pro reportType, tato funkce vyvolá obslužnou rutinu neplatný parametr, jak je popsáno v Ověření parametrů.Je-li pokračovat, je povoleno zpracování errno je nastavena na EINVAL a vrátí funkce _CRTDBG_HFILE_ERROR.Další informace naleznete v tématu Kód chyby, _doserrno, _sys_errlist a _sys_nerr.

Poznámky

_CrtSetReportFilese používá se _CrtSetReportMode funkci, kterou chcete definovat cíl nebo cíle pro konkrétní sestavu typu generovaných _CrtDbgReport.Při _CrtSetReportMode byla volána k přiřazení _CRTDBG_MODE_FILE vykazovacím režimu pro konkrétní sestavu typu, _CrtSetReportFile by měla být volána k definování určitého souboru nebo datového proudu a použít jako cíl.Při _DEBUG není definována, zavolá na _CrtSetReportFile jsou odebrány při úpravě před zpracováním.

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 Crtdbg.h.

  • file handle
    Popisovač souboru, který bude cíle pro zprávy.Nejsou provedeny žádné pokusy k 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
    Zápis zprávy do stderr, která může být přesměrována 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
    Zápis zprávy do stdout, které lze přesměrovat.

  • _CRTDBG_REPORT_FILE
    Vrátí aktuální režim sestavy.

Soubor sestavy používá každý typ sestavy lze ovládat samostatně.Je například možné určit, že reportType z _CRT_ERROR hlásí stderr, při reportType z _CRT_ASSERT hlásí popisovač uživatelem definovaného souboru nebo datového proudu.

Požadavky

Byla zahájena rutina

Požadované záhlaví

Volitelné záhlaví

_CrtSetReportFile

<crtdbg.h>

<errno.h>

V konzole není podporována v Windows Store apps.Úchyty standardní datový proud přidružené konzoly, stdin, stdout, a stderr, musí být přesměrována před C run-time funkce lze využít v Windows Store apps.Další informace o kompatibilitě v tématu Kompatibilita v úvodu.

Knihovny: ladicí verze Funkce knihovny CRT pouze.

Příklad

Viz téma report.

Ekvivalent v rozhraní .NET Framework

Nelze použít Volání funkce standardním C pomocí PInvoke. Další informace naleznete v tématu Příklady volání funkce platformy.

Viz také

Referenční dokumentace

Ladění rutin