perror

PERROR(3)                    Funciones de Biblioteca                   PERROR(3)



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.


CONFORME A
       C ANSI, BSD 4.3, POSIX, X/OPEN

VÉASE TAMBIÉN
       strerror(3)



Linux                           14 diciembre 2001                      PERROR(3)