PERROR(3)

NOME
perror - exibe uma mensagem de erro do sistema

SINÓPSE
#include <stdio.h>

void perror(const char *s);

#include <errno.h>

const char *sys_errlist[];
int sys_nerr;

DESCRIÇÃO
A rotina perror() produz uma mensagem na saída de erro padrão, descrevendo o último erro encontrado durante a chamada ao sistema ou a uma função de biblioteca. A seqüencia do argumento s é exibida primeiro, em seguida dois pontos e um espaço em branco, só então uma nova linha. Para facilidade de uso, a seqüencia do argumento deve incluir o nome da função que ocorreu o erro. O número do erro é retirado da variável externa errno, que é acionada quando ocorrem erros, mas não são removidos quando chamadas sem erros são feitas. A lista global de erros sys_errlist[] indexada por errno pode ser usada para obter a mensagem de erro sem a nova linha. O número maior de mensagens de erros encontrado na tabela é sys_nerr -1. Seja cuidadoso ao acessar diretamente essa lista, pois novos valores de erros podem não ser adicionados ao sys_errlist[]. Quando a chamada ao sistema falha, normalmente devolve -1 e seta a variável errno para um valor descrevendo o que ocorreu de errado. (Esses valores podem ser encontrados em <errno.h>.) Muitas funções de biblioteca fazem algo similar. A função perror() serve para traduzir esse código de erro em uma forma compreensível. Observe que errno é indefinido depois de uma chamada de biblioteca com sucesso: isso pode causar alteração na variável, mesmo que funcione, por exemplo porque internamente ela usa outra função de alguma biblioteca que não funciona. Logo, se uma chamada que falhou não for seguida de uma chamada para perror, o valor de errno deve ser armazenado.

DE ACORDO COM
ANSI C, BSD 4.3, POSIX, X/OPEN.

VEJA TAMBÉM
strerror(3).

TRADUZIDO POR LDP-BR EM 09/07/2001

  Tradução:
Fernando Boaglio <boaglio@netscape.net>

  Revisão.:
André Luiz Fassone <lonely_wolf@ig.com.br>