Str.asciiStrtoull

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 never 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).

struct Str
static
ulong
asciiStrtoull
(
string nptr
,
out string endptr
,
uint base
)

Parameters

nptr string

the string to convert to a numeric value.

endptr string

if non-%NULL, it returns the character after the last character used in the conversion.

base uint

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

Return Value

Type: ulong

the #guint64 value or zero on error.

Meta