Sdílet prostřednictvím


_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.

Viz také

Referenční dokumentace

Rutiny ladění