Condividi tramite


perror, _wperror

Visualizzare un messaggio di errore.

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

Parametri

  • string
    messaggio stringa da stampare.

Note

perror la funzione stampa un messaggio di errore su stderr._wperror è una versione a caratteri estesi di _perror; string argomento a _wperror è una stringa di caratteri estesi._wperror e _perror comportano in modo identico in caso contrario.

Mapping di routine a testo generico

routine di TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tperror

perror

perror

_wperror

string viene formattato in primo luogo, seguito da due punti, quindi il messaggio di errore di sistema per l'ultima chiamata di libreria che ha generato l'errore e infine da un carattere di nuova riga.se string è un puntatore null o un puntatore a una stringa null, perror stampa solo il messaggio di errore di sistema.

Il numero errore viene memorizzato nella variabile errno (definito da ERRNO.H).I messaggi di errore di sistema accede alla variabile _sys_errlist, che è una matrice di messaggi ha ordinato in base al numero errore.perror viene visualizzato il messaggio di errore appropriato mediante errno valore come indice a _sys_errlist.Il valore della variabile _sys_nerr viene definito come numero massimo di elementi in _sys_errlist matrice.

Per risultati accurati, chiamata perror subito dopo il completamento di una routine di libreria con un errore.In caso contrario, le successive chiamate possono sovrascrivere errno valore.

Nel sistema operativo Windows, alcuni errno i valori elencati in ERRNO.H sono inutilizzati.Questi valori sono riservati per l'utilizzo del sistema operativo dell'utilità UNIX.vedere _doserrno, errno, _sys_errlist e _sys_nerr per un elenco di errno valori utilizzati dal sistema operativo Windows.perror contiene una stringa vuota per qualsiasi errno valore non utilizzato in queste piattaforme.

Requisiti

routine

Intestazione di associazione

perror

<stdio.h> o <definito>

_wperror

<stdio.h> o <wchar.h>

per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.

Librerie

Tutte le versioni di Librerie di runtime del linguaggio C.

Esempio

// 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

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.

Vedere anche

Riferimenti

Processo e controllo ambiente

clearerr

ferror

strerror, _strerror, _wcserror, __wcserror