_CrtSetReportFile
Po skorzystaniu z _CrtSetReportMode do określenia _CRTDBG_MODE_FILE, można określić dojście do pliku, aby otrzymać tekst wiadomości._CrtSetReportFile jest także używany przez _CrtDbgReport, _CrtDbgReportW, aby określić miejsce docelowe tekstu (tylko wersja debugowania).
_HFILE _CrtSetReportFile(
int reportType,
_HFILE reportFile
);
Parametry
reportType
Typ raportu: _CRT_WARN, _CRT_ERROR, i _CRT_ASSERT.reportFile
Nowy plik raportu dla reportType.
Wartość zwracana
Po pomyślnym zakończeniu _CrtSetReportFile zwraca poprzedni plik raportu zdefiniowany dla określony typu raportu w reportType.Jeśli nieprawidłowa wartość jest przekazywana do reportType, funkcja wywoła procedurę obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, errno jest ustawione jako EINVAL, a funkcja zwraca _CRTDBG_HFILE_ERROR.Aby uzyskać więcej informacji, zobacz errno, _doserrno, _sys_errlist, and _sys_nerr.
Uwagi
_CrtSetReportFile jest używana z funkcją _CrtSetReportMode do określenia miejsca lub miejsc docelowych dla określonego typu raportu generowanego przez _CrtDbgReport.Po tym jak _CrtSetReportMode została wywołana do przypisania _CRTDBG_MODE_FILE tryb raportowania dla określonego typu raportu _CrtSetReportFile powinien być wywoływany w celu definiowania określonego pliku lub strumienia do wykorzystania jako miejsce docelowe.Gdy _DEBUG nie jest zdefiniowany, wywołania _CrtSetReportFile są usuwane podczas przetwarzania wstępnego.
W poniższej tabeli przedstawiono listę dostępnych sposobów reportFile i wynikowe zachowanie _CrtDbgReport.Opcje te są zdefiniowane jako flaga bitowych w Crtdbg.h.
file handle
Dojście do pliku, którym będzie miejsce docelowe dla wiadomości.Nie jest podejmowana próba sprawdzania prawidłowości obsługi.Należy otworzyć i zamknąć dojście do pliku.Na przykład: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
Wpisuje wiadomość do stderr, które mogą zostać przekierowane w następujący sposób: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
Wpisuje wiadomość do stdout, który można przekierować._CRTDBG_REPORT_FILE
Zwraca bieżący tryb raportu.
Plikiem raportu używanym przez każdy typu raportu można sterować oddzielnie.Na przykład, istnieje możliwość określenia, że reportType**_CRT_ERROR** zostanie zgłoszony do stderr, podczas gdy reportType**_CRT_ASSERT** zostanie zgłoszony do zdefiniowanego przez użytkownika „uchwytu” pliku lub strumienia.
Wymagania
Procedura |
Wymagany nagłówek |
Opcjonalny nagłówek |
---|---|---|
_CrtSetReportFile |
<crtdbg.h> |
<errno.h> |
Konsola nie jest obsługiwana w aplikacjach Windows Store.Standardowe uchwyty strumienia powiązane z konsolą—stdin, stdout, i stderr—muszą zostać przekierowane zanim będą wykorzystane przez funkcje środowiska uruchomieniowego C w aplikacjach Windows Store.Aby uzyskać więcej informacji na temat zgodności, zobacz Zgodność.
Biblioteki: Tylko wersja debugowania Biblioteka CRT — Funkcje.
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywołać standardową funkcję C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołań platformy.