Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Después de usar _CrtSetReportMode para especificar _CRTDBG_MODE_FILE, puede especificar el identificador de archivo que va a recibir el texto del mensaje. _CrtSetReportFile también usa _CrtDbgReport, _CrtDbgReportW para especificar el destino del texto (solo versión de depuración).
Sintaxis
_HFILE _CrtSetReportFile(
int reportType,
_HFILE reportFile
);
Parámetros
reportType
Tipo de informe: _CRT_WARN, _CRT_ERROR y _CRT_ASSERT.
reportFile
Nuevo archivo de informe para reportType.
Valor devuelto
Cuando la operación finaliza correctamente, _CrtSetReportFile devuelve el archivo de informe anterior definido para el tipo de informe especificado en reportType. Si se pasa un valor no válido a reportType, esta función invoca al controlador de parámetros no válidos, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, errno está establecido en EINVAL y la función devuelve _CRTDBG_HFILE_ERROR. Para obtener más información, veaerrno, _doserrno, _sys_errlisty _sys_nerr.
Comentarios
_CrtSetReportFile se usa con la función _CrtSetReportMode para definir los destinos de un tipo de informe específico generado por _CrtDbgReport. Al llamar a _CrtSetReportMode para asignar el modo de creación de informes _CRTDBG_MODE_FILE para un tipo de informe específico, llame también a _CrtSetReportFile para especificar el flujo o archivo de destino. Cuando _DEBUG no se define, las llamadas a _CrtSetReportFile se quitan durante el preprocesamiento.
En la lista siguiente se muestran las opciones disponibles para reportFile y el comportamiento resultante de _CrtDbgReport. Estas opciones se definen como marcas de bits en Crtdbg.h.
identificador de archivos
Identificador del archivo que será el destino de los mensajes. No se intenta comprobar la validez del identificador. Es necesario abrir y cerrar el identificador del 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_STDERREscribe el mensaje en
stderr, que se pueden redirigir como se indica a continuación: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_STDOUTEscribe el mensaje en
stdout, que puede redirigir._CRTDBG_REPORT_FILEDevuelve el modo de creación de informes actual.
Puede controlar el archivo de informe usado por cada tipo de informe por separado. Por ejemplo, es posible especificar que un reportType de _CRT_ERROR informa a través de stderr, mientras que un reportType de _CRT_ASSERT informa a través de un flujo o identificador de archivo definido por el usuario.
Requisitos
| Routine | Encabezado necesario | Encabezado opcional |
|---|---|---|
_CrtSetReportFile |
<crtdbg.h> | <errno.h> |
La consola no se admite en las aplicaciones de la Plataforma universal de Windows (UWP). Los identificadores de flujo estándar asociados a la consola, stdin, stdout y stderr, se deben redirigir antes de que las funciones en tiempo de ejecución de C puedan usarlos en aplicaciones para UWP. Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Bibliotecas: solo versiones de depuración de Características de la biblioteca CRT.