_CrtSetReportFile
Po określeniu _CRTDBG_MODE_FILE z _CrtSetReportMode, można określić dojście do pliku do odbierania tekst wiadomości._CrtSetReportFilejest także używany przez _CrtDbgReport, _CrtDbgReportW w tym celu tekstu (tylko wersja debugowania).
_HFILE _CrtSetReportFile(
int reportType,
_HFILE reportFile
);
Parametry
reportType
Report type: _CRT_WARN, _CRT_ERROR, and _CRT_ASSERT.reportFile
Nowy plik raportu dla reportType.
Wartość zwracana
Po pomyślnym zakończeniu _CrtSetReportFile zwraca poprzedni plik raportu zdefiniowany dla typu raportu określone w reportType.Jeśli jest przekazywana nieprawidłową wartość reportType, funkcja ta wywołuje program obsługi nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, errno jest ustawiona na EINVAL i funkcja zwraca _CRTDBG_HFILE_ERROR.Aby uzyskać więcej informacji, zobacz errno, _doserrno, _sys_errlist i _sys_nerr.
Uwagi
_CrtSetReportFilejest używana z _CrtSetReportMode funkcja określenie miejsca przeznaczenia lub miejsca docelowe dla typu określonego raportu wygenerowany przez _CrtDbgReport.Gdy _CrtSetReportMode została wywołana do przypisywania _CRTDBG_MODE_FILE zgłoszenie tryb dla typu określonego raportu, _CrtSetReportFile następnie zostać wywołana, aby zdefiniować określonego pliku lub strumienia do wykorzystania jako miejsce docelowe.Gdy _DEBUG nie jest zdefiniowana, wzywa do _CrtSetReportFile są usuwane w czasie wstępnego przetwarzania.
W poniższej tabeli przedstawiono listę dostępnych sposobów reportFile i wynikowe zachowanie z _CrtDbgReport.Te opcje są definiowane jako flag bitowych w Crtdbg.h.
file handle
Dojście do pliku, który będzie docelowy dla wiadomości.Nie jest podejmowana próba sprawdza prawidłowość uchwyt.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
Pisze wiadomość do stderr, które mogą być przekierowywane się następujące zmiany: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
Pisze wiadomość do stdout, który można przekierować._CRTDBG_REPORT_FILE
Zwraca bieżący tryb raportu.
Plik raportu, używane przez każdego typu raportu można sterować oddzielnie.Na przykład, istnieje możliwość określić, że reportType z _CRT_ERROR informowana o stderr, podczas gdy reportType z _CRT_ASSERT być zgłaszane do dojścia do zdefiniowanej przez użytkownika pliku lub strumienia.
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
Opcjonalny nagłówka |
---|---|---|
_CrtSetReportFile |
<crtdbg.h> |
<errno.h> |
Konsola nie jest obsługiwana w Windows Store aplikacji.Związanych z konsolą, dojścia do strumienia standard stdin, stdout, i stderr, muszą być przeniesione, aby funkcje uruchomieniowej C mogą być użyte w Windows Store aplikacji.Informacji dotyczących zgodności, zobacz Zgodność we wprowadzeniu.
Biblioteki: program Debug: polecenie wersje Funkcje biblioteki CRT tylko.
Przykład
Zobacz report.
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywoływać funkcji C standardowej, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Platforma wywołać przykłady.