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