Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Après avoir utilisé _CrtSetReportMode pour spécifier _CRTDBG_MODE_FILE, vous pouvez spécifier le handle de fichier pour recevoir le texte du message. _CrtSetReportFile est également utilisé par _CrtDbgReport, _CrtDbgReportW pour spécifier la destination du texte (version debug uniquement).
Syntaxe
_HFILE _CrtSetReportFile(
int reportType,
_HFILE reportFile
);
Paramètres
reportType
Type de rapport : _CRT_WARN, _CRT_ERROR et _CRT_ASSERT.
reportFile
Nouveau fichier de rapport pour reportType.
Valeur retournée
Quand l’opération réussit, _CrtSetReportFile retourne le fichier de rapport précédent défini pour le type de rapport spécifié dans reportType. Si une valeur non valide est passée pour reportType, cette fonction appelle le gestionnaire de paramètres non valides, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, errno a la valeur EINVAL et la fonction retourne une valeur _CRTDBG_HFILE_ERROR. Pour plus d'informations, voir errno, _doserrno, _sys_errlist et _sys_nerr.
Notes
_CrtSetReportFile est utilisé avec la fonction _CrtSetReportMode pour définir la ou les destinations d’un type de rapport spécifique généré par _CrtDbgReport. Lorsque vous appelez _CrtSetReportMode afin d’affecter le mode de création de rapports _CRTDBG_MODE_FILE pour un type de rapport spécifique, appelez également _CrtSetReportFile pour spécifier le flux ou le fichier de destination. Quand _DEBUG n’est pas défini, les appels à _CrtSetReportFile sont supprimés lors du prétraitement.
La liste suivante répertorie les options disponibles pour reportFile et le comportement résultant de _CrtDbgReport. Ces options sont définies sous forme d’indicateurs binaires dans Crtdbg.h.
handle de fichier
Handle vers le fichier qui sera la destination des messages. Aucune tentative n’est effectuée pour vérifier la validité du handle. Vous devez ouvrir et fermer le handle vers le fichier. Par exemple :
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Écrit un message vers
stderr, qui peut être redirigé comme suit :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Écrit un message vers
stdout, que vous pouvez rediriger._CRTDBG_REPORT_FILERetourne le mode de rapport actuel.
Vous pouvez contrôler le fichier de rapport utilisé par chaque type de rapport séparément. Par exemple, vous pouvez spécifier qu’un reportType _CRT_ERROR soit consigné via stderr, et qu’un reportType _CRT_ASSERT soit consigné via un flux ou handle de fichier défini par l’utilisateur.
Spécifications
| Routine | En-tête requis | En-tête facultatif |
|---|---|---|
_CrtSetReportFile |
<crtdbg.h> | <errno.h> |
La console n’est pas prise en charge dans les applications de la plateforme Windows universelle (UWP). Les handles de flux standard associés à la console (stdin, stdout et stderr) doivent être redirigés pour que les fonctions de runtime C puissent les utiliser dans les applications UWP. Pour plus d’informations sur la compatibilité, consultez Compatibility.
Bibliothèques : versions Debug des fonctionnalités de bibliothèque CRT uniquement.