STRERROR(3)

NAME
strerror, strerror_r - get error message string

SYNOPSIS
#include <string.h>
char *
strerror(int errnum);
int
strerror_r(int errnum, char *strerrbuf, size_t buflen);

DESCRIPTION
The strerror() and strerror_r() functions map the error number errnum to a language-dependent error message string.

strerror() returns a string containing a maximum of NL_TEXTMAX characters, including the trailing NUL. This string is not to be modified by the calling program, but may be overwritten by subsequent calls to strerror().

strerror_r() is a thread safe version of strerror() that places the error message in the specified buffer strerrbuf.

RETURN VALUES
strerror() returns a pointer to the error message string. If an error occurs, the error code is stored in errno.

strerror_r() returns zero upon successful completion. If an error occurs, the error code is stored in errno and the error code is returned.

ERRORS
strerror() and strerror_r() may fail if:

[EINVAL]
    errnum is not a valid error number. The returned error string will consist of an error message that includes errnum.

strerror_r() may fail if:

[ERANGE]
    The error message is larger than buflen characters. The message will be truncated to fit.

SEE ALSO
intro(2), perror(3), setlocale(3)

STANDARDS
The strerror() function conforms to ansiC-99. The strerror_r() function conforms to p1003.1-2008.

HISTORY
The strerror() function first appeared in 4.3BSD Reno. The strerror_r() function first appeared in OpenBSD 3.3.