Provided by: manpages-pt-dev_20040726-4_all bug

NAME

       perror - print a system error message

SYNOPSIS

       #include <stdio.h>

       void perror(const char *s);

       #include <errno.h>

       const char *sys_errlist[];
       int sys_nerr;

DESCRIPTION

       The  routine perror() produces a message on the standard error output, describing the last
       error encountered during a call to a system or library function.  The argument string s is
       printed  first,  then a colon and a blank, then the message and a new-line.  To be of most
       use, the argument string should include the name of the function that incurred the  error.
       The error number is taken from the external variable errno, which is set when errors occur
       but not cleared when non-erroneous calls are made.

       The global error list sys_errlist[] indexed by errno can  be  used  to  obtain  the  error
       message without the newline.  The largest message number provided in the table is sys_nerr
       -1.  Be careful when directly accessing this list because new error values  may  not  have
       been added to sys_errlist[].

       When  a  system  call  fails, it usually returns -1 and sets the variable errno to a value
       describing what went wrong. (These values  can  be  found  in  <errno.h>.)   Many  library
       functions  do  likewise.   The  function perror() serves to translate this error code into
       human-readable form.  Note that errno is undefined after a successful library  call:  this
       call  may  well  change  this  variable,  even  though it succeeds, for example because it
       internally used some other library function that failed.  Thus, if a failing call  is  not
       immediately followed by a call to perror, the value of errno should be saved.

CONFORMING TO

       ANSI C, BSD 4.3, POSIX, X/OPEN

SEE ALSO

       strerror(3)

                                           May 16 1996                                  PERROR(3)