Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: July 2017
 
 

strerror(3C)

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() 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 an error message string and returns the string in the buffer pointed to by strerrbuf 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
Committed
MT-Level
Safe
Standard

See Also

gettext(3C), perror(3C), setlocale(3C), attributes(5), standards(5)