Provided by: manpages-es_1.55-10_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'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)