since: 2.0


const gchar*
g_strerror (
  gint errnum


Returns a string corresponding to the given error code, e.g. “no such process”. Unlike strerror(), this always returns a string in UTF-8 encoding, and the pointer is guaranteed to remain valid for the lifetime of the process.

Note that the string may be translated according to the current locale.

The value of %errno will not be changed by this function. However, it may be changed by intermediate function calls, so you should save its value as soon as the call returns:

  int saved_errno;

  ret = read (blah);
  saved_errno = errno;

  g_strerror (saved_errno);

Available since: 2.0



Type: gint

The system error number. See the standard C %errno documentation.

Return value

Type: const gchar*

A UTF-8 string describing the error code. If the error code is unknown, it returns a string like “Unknown error: ".

The data is owned by the called function.
The value is a NUL terminated UTF-8 string.