STRERROR(3C) | Standard C Library Functions | STRERROR(3C) |
#include <string.h> char *strerror(int errnum);
int strerror_r(int errnum, char *strerrbuf, size_t buflen);
char *strerror_l(int errnum, locale_t loc);
The strerror_r() function maps the error number in errnum to an error message string and returns the string in the buffer pointed to by strerrbuf with length buflen.
The strerror_l() function maps the error number in errnum to an error message string in the locale indicated by loc. The returned string should not be overwritten. If loc is passed the NULL pointer, then the locale of the calling thread's current locale will be used instead.
Because the strerror() and strerror_l() functions, return localized strings in the event of an unknown error, one must use the value of errno to detect an error. Callers should first set errno to 0 before the call to either function and then check the value of errno after the call. If the value of errno is non-zero then an error has occurred.
Upon successful completion, strerror_r() returns 0. Otherwise it sets errno and returns the value of errno to indicate the error. It returns the localized string "Unknown error" in the buffer pointed to by strerrbuf if errnum is not a valid error number.
EINVAL
The strerror_r() function may fail if:
ERANGE
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Standard |
MT-Level | Safe |
August 17, 2015 | OmniOS |