perror
PERROR(R)               Library functions               PERROR(R)



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.  First (if s is
       not NULL and *s is not  NUL)  the  argument  string  s  is
       printed,  followed  by a colon and a blank.  Then the mes-
       sage 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(r)



                            2001-12-14                  PERROR(R)