Visit The New, Modern Unix Linux Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #135
Difficulty: Easy
As of 2006, approximately five percent of the Linux kernel was written by Linus Torvalds himself
True or False?
Linux & Unix Commands - Search Man Pages

strerror(3c) [opensolaris man page]

strerror(3C)						   Standard C Library Functions 					      strerror(3C)

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() function maps the error number in errnum to an error message string, and returns a pointer to that string. It uses the same set of error messages as perror(3C). The returned string should not be overwritten. The strerror_r() function maps the error number in errnum to anerror message string and returns the string in the buffer pointed to by str- errbuf with length buflen. RETURN VALUES
Upon successful completion, strerror() returns a pointer to the generated message string. Otherwise, it sets errno and returns a pointer to an error message string. It returns the string "Unknown error" if errnum is not a valid error number. Upon successful completion, strerror_r() returns 0. Otherwise it sets errno and returns the value of errno to indicate the error. It returns the string "Unknown error" in the buffer pointed to by strerrbuf if errnum is not a valid error number. ERRORS
These functions may fail if: EINVAL The value of errnum is not a valid error number. The strerror_r() function may fail if: ERANGE The buflen argument specifies insufficient storage to contain the generated message string. USAGE
Messages returned from these functions are in the native language specified by the LC_MESSAGES locale category. See setlocale(3C). ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |Safe | +-----------------------------+-----------------------------+ SEE ALSO
gettext(3C), perror(3C), setlocale(3C), attributes(5), standards(5) SunOS 5.11 31 Mar 2005 strerror(3C)

Check Out this Related Man Page

STRERROR(3)						   BSD Library Functions Manual 					       STRERROR(3)

perror, strerror, strerror_r, sys_errlist, sys_nerr -- system error messages LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdio.h> void perror(const char *s); extern const char * const sys_errlist[]; extern const int sys_nerr; #include <string.h> char * strerror(int errnum); int strerror_r(int errnum, char *strerrbuf, size_t buflen); DESCRIPTION
The strerror(), strerror_r(), 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 strerror_r() function renders the same result into strerrbuf for a maximum of buflen characters and returns 0 upon success. The perror() function finds the error message corresponding to the current value of the global variable errno (intro(2)) and writes it, fol- lowed by a newline, to the standard error file descriptor. If the argument s is non-NULL and does not point to the null character, this string is prepended to the message string and separated from it by a colon and space (``: ''); otherwise, only the error message string is printed. If the error number is not recognized, these functions return an error message string containing ``Unknown error: '' followed by the error number in decimal. The strerror() and strerror_r() functions return EINVAL as a warning. Error numbers recognized by this implementation fall in the range 0 <= errnum < sys_nerr. If insufficient storage is provided in strerrbuf (as specified in buflen) to contain the error string, strerror_r() returns ERANGE and strerrbuf will contain an error message that has been truncated and NUL terminated to fit the length specified by buflen. The message strings can be accessed directly using the external array sys_errlist. The external value sys_nerr contains a count of the mes- sages in sys_errlist. The use of these variables is deprecated; strerror() or strerror_r() should be used instead. SEE ALSO
intro(2), psignal(3) STANDARDS
The perror() and strerror() functions conform to ISO/IEC 9899:1999 (``ISO C99''). The strerror_r() function conforms to IEEE Std 1003.1-2001 (``POSIX.1''). HISTORY
The strerror() and perror() functions first appeared in 4.4BSD. The strerror_r() function was implemented in FreeBSD 4.4 by Wes Peters <>. BUGS
For unknown error numbers, the strerror() function will return its result in a static buffer which may be overwritten by subsequent calls. The return type for strerror() is missing a type-qualifier; it should actually be const char *. Programs that use the deprecated sys_errlist variable often fail to compile because they declare it inconsistently. BSD
October 12, 2004 BSD

Featured Tech Videos