Namespaces
Variants
Views
Actions

std::strerror

From cppreference.com
< cpp | string | byte
Revision as of 03:12, 29 March 2012 by P12 (Talk | contribs)

Template:cpp/string/byte/sidebar

Defined in header <cstring>
char* strerror( int errnum );

Returns text version of the error code errnum. errnum is usually acquired from the errno variable, however the function accepts any value of type Template:cpp. The message is locale-specific.

The returned byte string must not be modified by the program, but may be overwritten by a subsequent call to the strerror function.

Contents

Parameters

errnum - integral value referring to a error code

Return value

Pointer to a null-terminated byte string corresponding to the error code errnum.

Example

#include <iostream>
#include <cmath>
#include <cerrno>
#include <cstring>
 
int main()
{
    double not_a_number = std::log(-1.0);
    if (errno == EDOM) {
        std::cout << "log(-1) failed: " << std::strerror(errno) << '\n';
    }
}

Output:

log(-1) failed: Numerical argument out of domain

See also

macros for standard POSIX-compatible error conditions
(macro constant)