Provided by: manpages-es_1.55-4_all bug
 

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 N

        La  rutina  perror()  produce un mensaje que va a la salida estándar de
        errores, describiendo el último 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.  Después se
        imprime el mensaje y un salto de línea.
 
        Para ser de más utilidad, la cadena de caracteres pasada como argumento
        debería  incluir  el  nombre de la función que incurrió en el error. El
        código 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
        errónea.
 
        Puede utilizarse la lista global de errores sys_errlist[], indexada por
        errno,  para  obtener  el  mensaje del error sin el salto de línea.  El
        número más 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 añadido aún 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 qué fue mal. (Estos valores
        pueden encontrarse  en  <errno.h>.)   Muchas  funciones  de  biblioteca
        también  hacen  esto.   La  función  perror()  sirve para traducir este
        código de error a una forma que los humanos puedan  entender.   Observe
        que  errno  tiene  un  valor sin definir tras una llamada exitosa: esta
        llamada podría muy bien cambiar incluso el valor de  esta  variable,  a
        pesar  de  haber acabado bien, por ejemplo porque internamente empleara
        alguna otra función de biblioteca que hubiera  fallado.   Así,  si  una
        llamada  fallida no es seguida inmediatamente por una llamada a perror,
        el valor de errno debe guardarse.
        C ANSI, BSD 4.3, POSIX, X/OPEN
        strerror(3)