Partager via


strerror, _strerror, _wcserror, __wcserror

Obtenez un message d'erreur système (strerror, _wcserror) ou des copies un message d'erreur défini par l'utilisateur (_strerror, __wcserror).plus les versions sécurisées de ces fonctions sont disponibles ; consultez strerror_s, _strerror_s, _wcserror_s, __wcserror_s .

char *strerror(
   int errnum 
);
char *_strerror(
   const char *strErrMsg 
);
wchar_t * _wcserror(
   int errnum 
);
wchar_t * __wcserror(
   const wchar_t *strErrMsg 
);

Paramètres

  • errnum
    Numéro de l'erreur.

  • strErrMsg
    message écrit par l'utilisateur.

Valeur de retour

Toutes ces fonctions retournent un pointeur à la chaîne de message d'erreur.les appels suivants peuvent remplacer la chaîne.

Notes

La fonction d' strerror mappe errnum à une chaîne de message d'erreur, qui retourne un pointeur à la chaîne.ni strerror ni _strerror n'imprime réellement le message : Pour qui, vous devez appeler une fonction de sortie semblable fprintf:

if (( _access( "datafile",2 )) == -1 )
   fprintf( stderr, _strerror(NULL) );

Si strErrMsg est passé comme NULL, _strerror retourne un pointeur vers une chaîne contenant le message d'erreur système pour le dernier appel de bibliothèque qui a produit une erreur.la chaîne de message d'erreur est terminée par le caractère de saut de ligne ("\ n ").Si strErrMsg n'est pas égal à NULL, alors _strerror retourne un pointeur vers une chaîne contenant (dans l'ordre) votre message de chaîne, deux-points, un espace, le message d'erreur système pour le dernier appel de bibliothèque pour produire une erreur, et un caractère de saut de ligne.Votre message de chaîne peut être, au plus, 94 caractères.

Le numéro d'erreur réel pour _strerror est stocké dans errnovariable.Les messages d'erreur système sont accessibles via _sys_errlistvariable, qui est un tableau de nombres par erreur classé par messages._strerror accède au message d'erreur adapté à l'aide de la valeur d' errno comme index à _sys_errlistvariable.La valeur de _sys_nerr variable est définie comme un nombre maximal d'éléments du tableau d' _sys_errlist .Pour produire des résultats exacts, l'appel _strerror immédiatement après une routine de bibliothèque retourne avec une erreur.Sinon, les appels suivants à strerror ou l' _strerror peuvent remplacer la valeur d' errno .

_wcserroret __wcserrorsont des versions à caractères larges d' strerroret d' _strerror, respectivement.

_strerror, _wcserror, et __wcserrorne font pas partie de la définition ANSI mais sont plutôt des extensions Microsoft à celui-ci.Ne les utilisez pas où la portabilité est souhaitée ; pour la compatibilité ANSI, utilisez strerror à la place.

mappages de routines de texte générique

routine de TCHAR.H

_MBCS & de _UNICODE non défini

_MBCS défini

_UNICODE défini

_tcserror

strerror

strerror

_wcserror

Configuration requise

routine

en-tête requis

strerror

<string.h>

_strerror

<string.h>

_wcserror, __wcserror

<string.h>

Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.

Exemple

Consultez l'exemple pour perror.

Équivalent .NET Framework

System : : exception : : message

Voir aussi

Référence

Manipulation de chaînes (CRT)

clearerr

ferror

perror, _wperror