NAME
strerror, strerror_r - return string describing error code
SYNOPSIS
#include <string.h>
char *strerror(int errnum);
int strerror_r(int errnum, char *buf, size_t n);
DESCRIPTION
The
strerror() function returns a string describing the error
code passed in the argument
errnum, possibly using the LC_MESSAGES
part of the current locale to select the appropriate language.
This string must not be modified by the application, but may be
modified by a subsequent call to
perror() or
strerror().
No library function will modify this string.
The strerror_r() function is similar to strerror(), but is
thread safe. It returns the string in the user-supplied buffer
buf
of length
n.
RETURN VALUE
The
strerror() function returns the appropriate error description
string, or an unknown error message if the error code is unknown.
The value of
errno is not changed for a successful call, and is
set to a nonzero value upon error.
The
strerror_r() function returns 0 on success and -1 on failure,
setting
errno.
ERRORS
- EINVAL
-
The value of
errnum
is not a valid error number.
- ERANGE
-
Insufficient storage was supplied to contain the error description string.
CONFORMING TO
SVID 3, POSIX, BSD 4.3, ISO/IEC 9899:1990 (C89).
strerror_r()
with prototype as given above is specified by SUSv3, and was in use
under Digital Unix and HP Unix. An incompatible function, with prototype
char *strerror_r(int errnum, char *buf, size_t n);
is a GNU extension used by glibc (since 2.0),
and must be regarded as obsolete in view of SUSv3.
The GNU version may, but need not, use the user-supplied buffer.
If it does, the result may be truncated in case the supplied buffer
is too small. The result is always NUL-terminated.
SEE ALSO
errno(3),
perror(3),
strsignal(3)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- SEE ALSO
-