Provided by:
manpages-es_1.55-10_all 
NOMBRE
perror - muestra un mensaje correspondiente a un error del sistema
SINOPSIS
#include <stdio.h>
void perror(const char *s);
#include <errno.h>
const char *sys_errlist[];
int sys_nerr;
DESCRIPCI'ON
La rutina perror() produce un mensaje que va a la salida estandar de
errores, describiendo el ultimo error encontrado durante una llamada al
sistema o a ciertas funciones de biblioteca. Primero (si s es distinto
de NULL y *s no es NUL) se imprime la cadena s pasada como argumento,
seguida de un signo de dos puntos y un espacio en blanco. Despues se
imprime el mensaje y un salto de linea.
Para ser de mas utilidad, la cadena de caracteres pasada como argumento
deberia incluir el nombre de la funcion que incurrio en el error. El
codigo del error se toma de la variable externa errno, que toma un
valor cuando ocurre un error pero no es puesta a cero en una llamada no
erronea.
Puede utilizarse la lista global de errores sys_errlist[], indexada por
errno, para obtener el mensaje del error sin el salto de linea. El
numero mas alto de mensaje proporcionado en la tabla es sys_nerr -1.
Tenga cuidado cuando acceda directamente a esta lista porque puede que
no se hayan anadido aun nuevos valores de error a sys_errlist[].
Cuando una llamada al sistema falla, normalmente devuelve -1 y pone en
la variable errno un valor que describe que fue mal. (Estos valores
pueden encontrarse en <errno.h>.) Muchas funciones de biblioteca
tambien hacen esto. La funcion perror() sirve para traducir este
codigo de error a una forma que los humanos puedan entender. Observe
que errno tiene un valor sin definir tras una llamada exitosa: esta
llamada podria muy bien cambiar incluso el valor de esta variable, a
pesar de haber acabado bien, por ejemplo porque internamente empleara
alguna otra funcion de biblioteca que hubiera fallado. Asi, si una
llamada fallida no es seguida inmediatamente por una llamada a perror,
el valor de errno debe guardarse.
CONFORME A
C ANSI, BSD 4.3, POSIX, X/OPEN
V'EASE TAMBI'EN
strerror(3)