### Function

# GLib ascii_strtoll

since: 2.12

#### Declaration

    gint64
    g_ascii_strtoll (
      const gchar* nptr,
      gchar** endptr,
      guint base
    )

#### Description

Converts a string to a `gint64` value.

This function behaves like the standard `strtoll()` function does in the C locale. It does this without actually changing the current locale, since that would not be thread-safe.

This function is typically used when reading configuration files or other non-user input that should be locale independent. To handle input from the user you should normally use the locale-sensitive system `strtoll()` function.

If the correct value would cause overflow, `G_MAXINT64` or `G_MININT64` is returned, and `ERANGE` is stored in `errno`. If the base is outside the valid range, zero is returned, and `EINVAL` is stored in `errno`. If the string conversion fails, zero is returned, and `endptr` returns `nptr` (if `endptr` is non-`NULL`).

Available since: 2.12

#### Parameters

`nptr`

  Type: `const gchar*`

  The string to convert to a numeric value.

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

`endptr`

  Type: `gchar**`

  If non-`NULL`, it returns the character after the last character used in the conversion.

  The argument will be set by the function.
  The argument can be `NULL`.
  The data is owned by the function.
  The value is a NUL terminated UTF-8 string.

`base`

  Type: `guint`

  To be used for the conversion, 2..36 or 0

#### Return value

Type: `gint64`

The converted value, or zero on error.