_CrtSetReportFile

Después de especificar _CRTDBG_MODE_FILE con _CrtSetReportMode, puede especificar el identificador de archivos para recibir el texto del mensaje._CrtSetReportFile también lo utiliza _CrtDbgReport, _CrtDbgReportW para especificar el destino de texto (versión de depuración solo).

_HFILE _CrtSetReportFile( 
   int reportType,
   _HFILE reportFile 
);

Parámetros

  • reportType
    Informe tipo: _CRT_WARN, _CRT_ERROR, y _CRT_ASSERT.

  • reportFile
    Nuevo archivo de informe para reportType.

Valor devuelto

Cuando se complete correctamente, _CrtSetReportFile devuelve el archivo de informe anterior definido para el tipo de informe especificado en reportType.Si un valor no válido se pasa para reportType, esta función invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, errno se establece en EINVAL y la función devuelve _CRTDBG_HFILE_ERROR.Para obtener más información, vea errno, _doserrno, _sys_errlist, y _sys_nerr.

Comentarios

_CrtSetReportFile se utiliza con la función de _CrtSetReportMode para definir el destino o destinos para un tipo específico del informe generado por _CrtDbgReport.Cuando _CrtSetReportMode se ha denominado para asignar _CRTDBG_MODE_FILE que señalaba el modo para un tipo específico del informe, _CrtSetReportFile se debe llamar a para definir el archivo concreto o secuencias para usar como destino.Cuando no está definido _DEBUG, las llamadas a _CrtSetReportFile se quitan durante el preprocesamiento.

La tabla siguiente muestra una lista de las opciones disponibles para reportFile y el comportamiento resultante de _CrtDbgReport.Se definen estas opciones mientras el bit marca en Crtdbg.h.

  • file handle
    Un identificador al archivo que será el destino para los mensajes.No se realiza ningún intento de comprobar la validez del identificador.Debe abrir y cerrar el identificador al archivo.Por ejemplo:

       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
    Escribe el mensaje a stderr, que se pueden redirigir como sigue:

       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
    Escribe el mensaje a stdout, que puede redirigir.

  • _CRTDBG_REPORT_FILE
    Devuelve el modo de informe actual.

El archivo de informe utilizado por cada tipo de informe puede controlar por separado.Por ejemplo, es posible especificar que reportType de _CRT_ERROR se informa a stderr, mientras que reportType de _CRT_ASSERT se informa a un identificador de archivos o secuencia definido por el usuario.

Requisitos

Rutina

Encabezado necesario

Encabezado opcional

_CrtSetReportFile

<crtdbg.h>

<errno.h>

La consola no se admite en las aplicaciones de Tienda Windows.Los identificadores estándar de la secuencia asociados a la consola, stdin, stdout, y stderr, deben redirigir antes de que las funciones en tiempo de ejecución de C pueden utilizarlos en las aplicaciones de Tienda Windows.Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

Versiones de depuración de Bibliotecas: de Características de la biblioteca CRT únicamente.

Ejemplo

Vea report.

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

Rutinas de depuración