Freigeben über


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.

.NET Framework-Entsprechung

System::Ausnahme::Meldung

Siehe auch

Referenz

Zeichenfolgenbearbeitung (CRT)

clearerr

ferror

perror, _wperror