strerror, _strerror, _wcserror, __wcserror

ottenere un messaggio di errore di sistema (strerror, _wcserror) o stampa un messaggio di errore fornito dall'utente (_strerror, __wcserror).Più versioni sicure di queste funzioni sono disponibili, vedere 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 
);

Parametri

  • errnum
    Un codice di errore.

  • strErrMsg
    messaggio fornito dall'utente.

Valore restituito

Tutte queste funzioni restituiscono un puntatore alla stringa del messaggio di errore.le chiamate successive possono sovrascrivere la stringa.

Note

strerror mapping di funzione errnum a una stringa di messaggio di errore, restituendo un puntatore alla stringa.Nessuno strerror né _strerror in realtà viene visualizzato il messaggio: Per il secondo passaggio, è necessario chiamare una funzione di output come fprintf:

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

se strErrMsg viene passato come NULL, _strerror restituisce un puntatore a una stringa contenente il messaggio di errore di sistema per l'ultima chiamata di libreria che ha generato un errore.La stringa del messaggio di errore viene interrotta dal carattere di nuova riga (" \ n ").se strErrMsg non è uguale a NULL, quindi _strerror restituisce un puntatore a una stringa contenenteordine il messaggio stringa, i due punti, uno spazio, il messaggio di errore di sistema l'ultima chiamata della libreria generando un errore e un carattere di nuova riga.Il messaggio stringa può essere, al massimo, 94 caratteri.

Il numero effettivo errore per _strerror viene memorizzato nella variabile errno.I messaggi di errore di sistema accede alla variabile _sys_errlist, che è una matrice di messaggi ha ordinato in base al numero errore._strerror accede al messaggio di errore appropriato tramite errno valore come indice alla variabile _sys_errlist.Il valore della variabile _sys_nerr viene definito come numero massimo di elementi in _sys_errlist matrice.Per fornire risultati accurati, chiamata _strerror subito dopo il completamento di una routine di libreria con un errore.In caso contrario, chiamate successive a strerror o _strerror può sovrascrivere errno valore.

_wcserrore __wcserrornelle versioni a caratteri estesi di strerrore _strerror, rispettivamente.

_strerror, _wcserrore __wcserrornon fa parte della definizione ANSI ma viene invece estensioni Microsoft su.Non utilizzarle dove la portabilità si desidera; per compatibilità ANSI, utilizzare strerror anziché.

Mapping di routine a testo generico

routine di TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tcserror

strerror

strerror

_wcserror

Requisiti

routine

Intestazione di associazione

strerror

<string.h>

_strerror

<string.h>

_wcserror, __wcserror

<string.h>

per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.

Esempio

Vedere l'esempio relativo a perror.

Equivalente .NET Framework

System:: eccezione:: messaggio

Vedere anche

Riferimenti

Modifica delle stringhe (CRT)

clearerr

ferror

perror, _wperror