NAME
perror, strerror,
sys_errlist, sys_nerr
— system error
messages
SYNOPSIS
#include
<stdio.h>
void
perror(const
char *string);
extern char *sys_errlist[];
extern int sys_nerr;
#include
<string.h>
char *
strerror(int
errnum);
DESCRIPTION
Thestrerror()
and perror() functions look up the error message
string corresponding to an error number.
The
strerror()
function accepts an error number argument errnum and
returns a pointer to the corresponding message string.
The
perror()
function finds the error message corresponding to the current value of the
global variable errno
(intro(2)) and writes it, followed by a newline, to the standard error
file descriptor. If the argument string is
non-NULL, it is prepended to the message string and
separated from it by a colon and space
(‘: ’). If
string is NULL, only the error
message string is printed.
If errnum is not a recognized error number,
the error message string will contain “Unknown
error: ” followed by the error number in decimal.
The message strings can be accessed directly using
the external array sys_errlist. The external value
sys_nerr contains a count of the messages in
sys_errlist. The use of these variables is deprecated;
strerror()
should be used instead.
SEE ALSO
HISTORY
The strerror() and
perror() functions first appeared in 4.4BSD.
BUGS
For unknown error numbers, the strerror()
function will return its result in a static buffer which may be overwritten
by subsequent calls.