_CrtSetReportFile
_CrtSetReportMode
를 사용하여 _CRTDBG_MODE_FILE
을 지정한 후 메시지 텍스트를 수신할 파일 핸들을 지정할 수 있습니다. _CrtSetReportFile
은 또한 _CrtDbgReport
, _CrtDbgReportW
에서 텍스트 대상을 지정하는 데 사용됩니다(디버그 버전에만 해당).
구문
_HFILE _CrtSetReportFile(
int reportType,
_HFILE reportFile
);
매개 변수
reportType
보고서 형식: _CRT_WARN
, _CRT_ERROR
및 _CRT_ASSERT
reportFile
reportType
의 새 보고서 파일입니다.
반환 값
성공적으로 완료되면 _CrtSetReportFile
은 reportType
에 지정된 보고서 형식에 대해 정의된 이전 보고서 파일을 반환합니다. reportType
에 대해 잘못된 값이 전달된 경우 이 함수는 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다. 계속해서 실행하도록 허용된 경우 errno
는 EINVAL
로 설정되고 함수에서 _CRTDBG_HFILE_ERROR
버전입니다. 자세한 내용은 다음을 참조하세요.errno
, _doserrno
, _sys_errlist
및 _sys_nerr
.
설명
_CrtSetReportFile
은 _CrtSetReportMode
함수와 함께 사용되어 _CrtDbgReport
에서 생성된 특정 보고서 종류에 대한 대상을 정의합니다. 특정 보고서 종류에 대해 _CRTDBG_MODE_FILE
보고 모드를 할당하기 위해 _CrtSetReportMode
를 호출하는 경우 _CrtSetReportFile
도 호출하여 대상 파일 또는 스트림을 지정합니다. _DEBUG
가 정의되지 않은 경우 전처리 중에 _CrtSetReportFile
에 대한 호출이 제거됩니다.
다음 목록은 reportFile
에 대해 사용 가능한 선택 사항과 _CrtDbgReport
의 결과 동작을 보여 줍니다. 이러한 옵션은 Crtdbg.h에서 비트 플래그로 정의되어 있습니다.
파일 핸들
메시지의 대상이 될 파일에 대한 핸들입니다. 핸들의 유효성이 확인되지는 않습니다. 파일에 대한 핸들을 열고 닫아야 합니다. 예시:
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
stderr
에 메시지를 작성하며, 다음과 같이 리디렉션될 수 있습니다.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
stdout
에 메시지를 작성하며, 사용자가 리디렉션할 수 있습니다._CRTDBG_REPORT_FILE
현재 보고서 모드를 반환합니다.
각 보고서 종류별로 사용되는 보고서 파일을 별도로 제어할 수 있습니다. 예를 들어, _CRT_ERROR
의 reportType
은 stderr
을 통해 보고하고 _CRT_ASSERT
의 reportType
은 사용자 정의 파일 핸들 또는 스트림을 통해 보고하도록 지정할 수 있습니다.
요구 사항
루틴에서 반환된 값 | 필수 헤더 | 선택적 헤더 |
---|---|---|
_CrtSetReportFile |
<crtdbg.h> | <errno.h> |
UWP(유니버설 Windows 플랫폼) 앱에서는 콘솔이 지원되지 않습니다. 콘솔에 연결된 표준 스트림 핸들, stdin
, stdout
및 stderr
은 UWP 앱의 C 런타임 함수에서 사용되기 전에 리디렉션되어야 합니다. 호환성에 대한 자세한 내용은 호환성을 참조하세요.
라이브러리: 디버그 버전의 CRT 라이브러리 기능만 해당합니다.