NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES
#include <stdio.h>void perror(const char * s);
#include <errno.h>
extern char *sys_errlist[];
extern int sys_nerr;
The perror function produces a message on the error channel, the implementation of which is system-dependent. The message describes 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 newline character. To be of most use, the argument string should include the name of the program that incurred the error. The error number is taken from the per thread variable errno, or from a global variable errno, whichever is provided by the library. This variable is set when errors occur but not cleared when non-erroneous calls are made.
To simplify variant formatting of messages, the array of message strings sys_errlist is provided; errno can be used as an index in this table to get the message string without the new line. The sys_nerr parameter defines the largest message number provided for in the table; it should be checked because new error codes may be added to the system before they are added to the table.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES