strerror, _strerror, _wcserror, __wcserror
Erhalten Sie eine Systemfehler Fehlermeldung,strerror() oder _wcserrorwird eine vom Benutzer bereitgestellte Fehlermeldung (_strerror, __wcserror).Sicherere Versionen dieser Funktionen sind verfügbar. Weitere Informationen finden Sie unter 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
);
Parameter
errnum
Fehlernummer.strErrMsg
Vom Benutzer bereitgestellte Meldung.
Rückgabewert
Diese Funktionen geben einen Zeiger auf die Fehlermeldungszeichenfolge zurück.Nachfolgende Aufrufe können die Zeichenfolge überschreiben.
Hinweise
Die strerror-Funktion ordnet errnum auf eine Fehlermeldungszeichenfolge und gibt einen Zeiger auf eine Zeichenfolge zurück.Weder strerror gibt noch _strerror eigentlich die Meldung: Für dieses fprintfmüssen Sie eine Ausgabefunktion wie aufrufen:
if (( _access( "datafile",2 )) == -1 )
fprintf( stderr, _strerror(NULL) );
Wenn strErrMsg als NULLübergeben wird, gibt _strerror einen Zeiger auf eine Zeichenfolge zurück, die die Systemfehler Fehlermeldung für den letzten Aufruf der Bibliothek enthält, der einen Fehler erzeugt hat.Die Zeichenfolge der Fehlermeldung wird durch das Zeilenumbruchzeichen („\ n ") endet.Wenn strErrMsg ungleich NULList, gibt _strerror einen Zeiger auf eine Zeichenfolge zurück, die enthält (in der Reihenfolge), die einen Doppelpunkt, für eine Zeichenfolge ein Leerzeichen, die Systemfehler Fehlermeldung für den letzten Aufruf der Bibliothek, einen Fehler erzeugend und ein Zeilenumbruchzeichen.Die Zeichenfolgen für eine kann höchstens 94 Zeichen lang.
Die tatsächliche Fehlernummer für _strerror wird in der Variablen gespeichert errno.Die Systemfehler Fehlermeldungen werden durch die Variable _sys_errlistzugegriffen, die ein Array der sortierten irrtümlicherweise Anzahl der Nachrichten ist._strerror greift auf die entsprechende Fehlermeldung zu, indem Sie den errno-Wert als Index für variablen _sys_errlistverwendet.Der Wert der Variablen _sys_nerr ist als die maximale Anzahl von Elementen im _sys_errlist Array definiert.Um genaue Ergebnisse zu erzeugen, kehrt sofort nach dem Aufruf _strerror einer Bibliothek routine einen Fehler zurück.Andernfalls können nachfolgende Aufrufe von strerror oder _strerror den errno-Wert überschreiben.
_wcserrorund __wcserrorsind Breitzeichenversionen vonstrerrorund _strerror.
_strerror, _wcserrorund __wcserrorsind, sind aber nicht Teil der ANSI-Definition Microsoft-Erweiterungen stattdessen an.Verwenden Sie diese nicht, wo Portabilität erwünscht ist. Verwenden Sie stattdessen bei Einhaltung der ANSI-Kompatibilität strerror .
Zuweisung generischer Textroutinen
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definieren |
_UNICODE definiert |
---|---|---|---|
_tcserror |
strerror |
strerror |
_wcserror |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
strerror |
<string.h> |
_strerror |
<string.h> |
_wcserror, __wcserror |
<string.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Beispiel
Weitere Informationen finden Sie im Beispiel für perror.