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.