_CrtSetReportFile
Depois de especificar _CRTDBG_MODE_FILEcom CrtSetReportMode, você pode especificar o identificador de arquivo para receber texto de mensagem._CrtSetReportFile também é usado por _CrtDbgReport, CrtDbgReportW para especificar o destino de texto (versão de depuração somente).
_HFILE _CrtSetReportFile( int reportType, _HFILE reportFile );
Parâmetros
reportType
Tipo de relatório: _CRT_WARN, _CRT_ERROR, e _CRT_ASSERT.reportFile
Novo arquivo de relatório para reportType.
Valor de retorno
Na conclusão com êxito, _CrtSetReportFile retorna o arquivo de relatório anterior definido para o tipo de relatório especificado em reportType.Se um valor inválido é passado para reportType, essa função chama o manipulador de parâmetro inválido, como descrito em Validação de parâmetro.Se a execução é permitida continuar, errno é definido como EINVAL e a função retorna _CRTDBG_HFILE_ERROR.Para obter mais informações, consulte errno, _doserrno, _sys_errlist e _sys_nerr.
Comentários
_CrtSetReportFile é usado com a função de CrtSetReportMode para definir o destino ou destinos para um tipo específico de relatório gerado por _CrtDbgReport.Quando _CrtSetReportMode foi chamado para atribuir _CRTDBG_MODE_FILE que relata o modo para um tipo específico de relatório, em seguida _CrtSetReportFile deve ser chamado para definir o arquivo específico ou para passar para usar como o destino.Quando DEBUG não é definido, chamadas a _CrtSetReportFile são removidos durante pré-processamento.
A tabela a seguir mostra uma lista de opções disponíveis para reportFile e o comportamento resultante de _CrtDbgReport.As opções são definidas como sinalizadores de bit em Crtdbg.h.
file handle
Um identificador para o arquivo que será o destino para mensagens.Nenhuma tentativa é feita para verificar a validade de manipular.Você deve abrir e fechar o identificador de arquivo.Por exemplo: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
Grava a mensagem a stderr, que podem ser redirecionados como segue: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
Grava a mensagem a stdout, que você pode redirecionar._CRTDBG_REPORT_FILE
Retorna o modo atual de relatório.
O arquivo de relatório usado por cada tipo de relatório separada pode ser controlado.Por exemplo, é possível especificar que reportType de _CRT_ERROR é relatado a stderr, quando reportType de _CRT_ASSERT é relatado a um identificador de arquivo ou um fluxo definido pelo usuário.
Requisitos
Rotina |
Cabeçalho necessário |
Cabeçalho opcional |
---|---|---|
_CrtSetReportFile |
<crtdbg.h> |
<errno.h> |
O console não é suportado em aplicativos de Windows Store .Identificadores padrões de fluxo associadas ao console, stdin, stdout, e stderr, devem ser redirecionada antes que as funções de tempo de execução das C pode usar em aplicativos de Windows Store .Para mais informações, consulte Compatibilidade de compatibilidade na introdução.
Versões de depuração deBibliotecas: de Recursos da biblioteca CRT somente.
Exemplo
Consulte report.
Equivalência do .NET Framework
Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.