Partilhar via


perror, _wperror

Imprima uma mensagem de erro.

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

Parâmetros

  • string
    Seqüência de caracteres de mensagem a imprimam.

Comentários

The perror função imprime uma mensagem de erro stderr. _wperror é uma versão de caractere largo da _perror; the string argumento para _wperror é uma seqüência de caracteres largos. _wperror e _perrorEspecifique identicamente outro comportamento.

Mapeamentos de rotina de texto genérica

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_MBCS definido

_UNICODE definido

_tperror

perror

perror

_wperror

string será impresso primeiro, seguido por dois-pontos e pela mensagem de erro do sistema para a última telefonar de biblioteca que gerou o erro e, finalmente, por um caractere de nova linha. If string é um ponteiro nulo ou um ponteiro para uma seqüência de caracteres nula perror Imprime apenas a mensagem de erro do sistema.

número do erro é armazenado na variável errno (definido em ERRNO.H).As mensagens de erro do sistema são acessadas por meio da variável _sys_errlist, que é uma matriz de mensagens ordenadas por número do erro.perror Imprime a mensagem de erro apropriada usando a errno valor sistema autônomo um índice para _sys_errlist. O valor da variável _sys_nerr definido sistema autônomo o número máximo de elementos no _sys_errlist matriz.

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.

No sistema operacional Windows, alguns errno valores listados na ERRNO.H são não utilizados. Esses valores são reservados para uso pelo sistema operacional UNIX.See _doserrno, errno, _sys_errlist e _sys_nerr para obter uma lista de errno valores usados pelo sistema operacional Windows. perror Imprime uma seqüência de caracteres 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 compatibilidade, consulte Compatibilidade na introdução.

Bibliotecas

Todas as versões do C em time de execução bibliotecas.

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

Equivalente do NET Framework

Não aplicável. Para telefonar 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 ambiente de controle

clearerr

ferror

strError, _strerror, _wcserror, __wcserror