Function
GLibascii_strtoull
since: 2.2
Declaration [src]
guint64
g_ascii_strtoull (
const gchar* nptr,
gchar** endptr,
guint base
)
Description [src]
Converts a string to a guint64
value.
This function behaves like the standard strtoull()
function
does in the C locale. It does this without actually
changing the current locale, since that would not be thread-safe.
Note that input with a leading minus sign (-
) is accepted, and will return
the negation of the parsed number, unless that would overflow a guint64
.
Critically, this means you cannot assume that a short fixed length input will
result in a low return value, as the input could have a leading -
.
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 strtoull()
function.
If the correct value would cause overflow, G_MAXUINT64
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.2
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 returned 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.