Freigeben über


perror, _wperror

Drucken Sie eine Fehlermeldung.

void perror(
   const char *string 
);
void _wperror(
   const wchar_t *string 
);

Parameter

  • string
    So drucken für eine Zeichenfolge.

Hinweise

Die perror-Funktion gibt eine Fehlermeldung an stderr._wperror ist eine Breitzeichen-Version von _perror. string das Argument zu _wperror ist eine Zeichenfolge mit Breitzeichen._wperror und _perror verhalten sich ansonsten unterscheiden.

Zuweisung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definieren

_UNICODE definiert

_tperror

perror

perror

_wperror

string wird zuerst gedruckt, gefolgt von einem Doppelpunkt und dann auf Systemfehler Fehlermeldung für den letzten Aufruf der Bibliothek, der den Fehler erzeugt hat, und schließlich von einer Zeilenendemarke.Wenn string ein NULL-Zeiger oder ein Zeiger auf eine NULL-Zeichenfolge ist, gibt perror nur die Systemfehler Fehlermeldung.

Die Fehlernummer ist in der Variablen gespeichert errno (definiert in ERRNO.H).Die Systemfehler Fehlermeldungen werden durch die Variable _sys_errlistzugegriffen, die ein Array der sortierten irrtümlicherweise Anzahl der Nachrichten ist.perror gibt die entsprechende Fehlermeldung unter Verwendung des errno-Wert als Index für _sys_errlist.Der Wert der Variablen _sys_nerr ist als die maximale Anzahl von Elementen im _sys_errlist Array definiert.

Eine genaue Ergebnisse kehrt sofort nach dem Aufruf perror einer Bibliothek routine einen Fehler zurück.Andernfalls können nachfolgende Aufrufe errno den Wert überschreiben.

Im Windows-Betriebssystem können einige errno-Werte, die in ERRNO.H aufgelisteten nicht verwendet.Diese Werte werden für das UNIX-Betriebssystem reserviert.Weitere Informationen finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr für Aufzählungen von errno-Werten, die von der Windows-Betriebssystems verwendet werden.perror gibt eine leere Zeichenfolge für jeden errno-Wert, der nicht von diesen Plattformen verwendet wird.

Anforderungen

Routine

Erforderlicher Header

perror

<stdio.h> oder <stdlib.h>

_wperror

<stdio.h> oder <wchar.h>

Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.

Bibliotheken

Alle Versionen Cs.

Beispiel

// crt_perror.c
// compile with: /W3
/* This program attempts to open a file named
 * NOSUCHF.ILE. Because this file probably doesn't exist,
 * an error message is displayed. The same message is
 * created using perror, strerror, and _strerror.
 */

#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <share.h>

int main( void )
{
   int  fh;

   if( _sopen_s( &fh, "NOSUCHF.ILE", _O_RDONLY, _SH_DENYNO, 0 ) != 0 )
   {
      /* Three ways to create error message: */
      perror( "perror says open failed" );
      printf( "strerror says open failed: %s\n",
         strerror( errno ) ); // C4996
      printf( _strerror( "_strerror says open failed" ) ); // C4996
      // Note: strerror and _strerror are deprecated; consider
      // using strerror_s and _strerror_s instead.
   }
   else
   {
      printf( "open succeeded on input file\n" );
      _close( fh );
   }
}

Output

perror says open failed: No such file or directory
strerror says open failed: No such file or directory
_strerror says open failed: No such file or directory

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Siehe auch

Referenz

Prozess- und Umgebungssteuerelement

clearerr

ferror

strerror, _strerror, _wcserror, __wcserror