perror, _wperror

Imprima uma mensagem de erro.

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

Parâmetros

  • string
    Mensagem de seqüência de caracteres para imprimir.

Comentários

O perror função imprime uma mensagem de erro para stderr._wperroré uma versão de caractere largo de _perror; o string argumento para _wperror é uma seqüência de caracteres largos._wperrore _perror tenham comportamento idêntico caso contrário.

Mapeamentos de rotina de texto genérico

TCHAR.Rotina H

_ Unicode & _ MBCS do arquivo não definido

_ MBCS do arquivo definido

_ Unicode definido

_tperror

perror

perror

_wperror

stringé impresso em primeiro lugar, seguido por dois pontos, em seguida, pela mensagem de erro do sistema para a última chamada de biblioteca que ocasionou o erro, e, finalmente, por um caractere de nova linha.Se string é um ponteiro nulo ou um ponteiro para uma seqüência nula, perror imprime apenas a mensagem de erro do sistema.

O número de erro é armazenado na variável errno (definido no ERRNO.H).As mensagens de erro do sistema são acessadas através da variável _sys_errlist, que é uma matriz de mensagens ordenadas por número de erro.perrorImprime a mensagem de erro apropriado usando a errno o valor como um índice para _sys_errlist.O valor da variável _sys_nerr é definido como o número máximo de elementos de _sys_errlist array.

Para obter resultados precisos, ligue para perror imediatamente após uma rotina de biblioteca retorna com um erro.Caso contrário, as chamadas subseqüentes podem substituir o errno valor.

Nas janelas do sistema operacional, alguns errno valores listados na ERRNO.H são utilizadas.Esses valores são reservados para uso pelo sistema operacional UNIX.Consulte _doserrno, errno, _sys_errlist e _sys_nerr para obter uma listagem de errno valores usados pelo sistema operacional Windows.perrorImprime uma seqüência vazia para qualquer errno valor não usado por essas plataformas.

Requisitos

Rotina

Cabeçalho necessário

perror

<stdio.h> ou <stdlib.h>

_wperror

<stdio.h> ou <wchar.h>

Para obter informações adicionais de compatibilidade, consulte compatibilidade na introdução.

Bibliotecas

Todas as versões da bibliotecas de tempo de execução c.

Exemplo

// 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 );
   }
}

Saída

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

Equivalência do .NET Framework

Não aplicável. Para chamar a função c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Processo e controle do ambiente

clearerr

ferror

strError, _strerror, _wcserror, __wcserror