Man Linux: Main Page and Category List

NAME

       perror - write error messages to standard error

SYNOPSIS

       #include <stdio.h>

       void perror(const char *s);

DESCRIPTION

       The  perror()  function shall map the error number accessed through the
       symbol errno to a language-dependent  error  message,  which  shall  be
       written to the standard error stream as follows:

        * First  (if s is not a null pointer and the character pointed to by s
          is not the null byte), the string pointed to  by  s  followed  by  a
          colon and a <space>.

        * Then an error message string followed by a <newline>.

       The  contents  of  the error message strings shall be the same as those
       returned by strerror() with argument errno.

       The perror() function shall mark the file associated with the  standard
       error  stream  as  having  been  written (st_ctime, st_mtime marked for
       update) at some time between  its  successful  completion  and  exit(),
       abort(), or the completion of fflush() or fclose() on stderr.

       The  perror() function shall not change the orientation of the standard
       error stream.

RETURN VALUE

       The perror() function shall not return a value.

ERRORS

       No errors are defined.

       The following sections are informative.

EXAMPLES

   Printing an Error Message for a Function
       The following example  replaces  bufptr  with  a  buffer  that  is  the
       necessary  size.  If  an  error  occurs, the perror() function prints a
       message and the program exits.

              #include <stdio.h>
              #include <stdlib.h>
              ...
              char *bufptr;
              size_t szbuf;
              ...
              if ((bufptr = malloc(szbuf)) == NULL) {
                  perror("malloc"); exit(2);
              }
              ...

APPLICATION USAGE

       None.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       strerror() ,  the  Base  Definitions  volume  of  IEEE Std 1003.1-2001,
       <stdio.h>

COPYRIGHT

       Portions  of  this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       --  Portable  Operating  System  Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003  by  the  Institute  of
       Electrical  and  Electronics  Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained  online
       at http://www.opengroup.org/unix/online.html .