Freigeben über


strerror, _strerror, _wcserror, __wcserror

Ruft eine Systemfehlermeldungs-Zeichenfolge (strerror, _wcserror) ab oder formatiert eine vom Benutzer bereitgestellte Fehlermeldungszeichenfolge (_strerror, __wcserror). Sicherere Versionen dieser Funktionen sind verfügbar. Informationen dazu 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 angegebene Meldung.

Rückgabewert

All diese Funktionen geben einen Zeiger zur Fehlermeldungszeichenfolge zurück. Nachfolgende Aufrufe können die Zeichenfolge überschreiben.

Hinweise

Die Funktion strerror ordnet errnum einer Fehlermeldungszeichenfolge zu und gibt einen Zeiger zur Zeichenfolge zurück. Die Meldung wird allerdings weder von strerror noch _strerror gedruckt: Dazu muss eine Ausgabefunktion wie fprintf aufgerufen werden:

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 Systemfehlermeldung für den letzten Bibliotheksaufruf enthält, die einen Fehler produziert hat. Die Fehlermeldungszeichenfolge wird durch das Zeilenumbruchzeichen ('\n') beendet. Wenn strErrMsg nicht gleich NULL ist, gibt _strerror einen Zeiger zu einer Zeichenfolge zurück, die folgende Elemente (in der angegebenen Reihenfolge) enthält: die Zeichenfolgenmeldung, einen Doppelpunkt, ein Leerzeichen, die Systemfehlermeldung zu dem letzten Bibliotheksaufruf, der einen Fehler erzeugt hat, und ein Zeilenumbruchzeichen. Die Zeichenfolgenmeldung darf höchstens 94 Zeichen lang sein.

Die tatsächliche Fehlernummer für _strerror wird in der Variablen errno gespeichert. Um vollständige Ergebnisse zu erzeugen, rufen Sie umgehend _strerror auf, nachdem eine Bibliotheksroutine einen Fehler zurückgibt. Andernfalls können nachfolgende Aufrufe von strerror oder _strerror den errno-Wert überschreiben.

_wcserror und __wcserror sind jeweils Breitzeichenversionen von strerror und _strerror.

_strerror, _wcserror und __wcserror sind nicht Teil der ANSI-Definition, sondern Microsoft-Erweiterungen. Es wird empfohlen, diese nicht zu verwenden, wenn Sie portablen Code möchten. Verwenden Sie für ANSI-Kompatibilität stattdessen strerror.

Zum Abrufen von Fehlerzeichenfolgen wird strerror oder _wcserror anstelle der veralteten Makros _sys_errlist und _sys_nerr sowie der veralteten internen Funktionen __sys_errlist und __sys_nerr empfohlen.

Zuordnung generischer Textroutinen

TCHAR.H-Routine

_UNICODE und _MBCS nicht definiert.

_MBCS definiert

_UNICODE definiert

_tcserror

strerror

strerror

_wcserror

Anforderungen

Routine

Erforderlicher Header

strerror

<string.h>

_strerror

<string.h>

_wcserror, __wcserror

<string.h>

Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

Betrachten Sie das Beispiel für perror.

.NET Framework-Entsprechung

System::Exception::Message

Siehe auch

Referenz

Zeichenfolgenbearbeitung (CRT)

clearerr

ferror

perror, _wperror