功能
GLibascii_strtoull
since: 2.2
声明 [src]
guint64
g_ascii_strtoull (
const gchar* nptr,
gchar** endptr,
guint base
)
描述 [src]
将字符串转换为 guint64
值。
此函数的行为与 C 本地化设定中的标准 strtoull()
函数的行为相同。它会执行此操作而不实际更改当前的本地化设定,因为那并不是线程安全的。
请注意,它接受带有前导减号 (-
) 的输入,并会返回已解析数字的否定值,除非该值会使 guint64
发生溢出。至关重要的是,这意味着你不能假设短的固定长度输入会产生一个低返回值,因为输入可能带有前导 -
。
通常在读取配置文件或其他应与本地化设定无关的非用户输入时使用此函数。若要处理来自用户的输入,通常应使用区域敏感的系统 strtoull()
函数。
如果正确的值会导致溢出,则返回 G_MAXUINT64
,并将 ERANGE
存储在 errno
中。如果基数超出有效范围,则返回零,并将 EINVAL
存储在 errno
中。如果字符串转换失败,则返回零,并且 endptr
返回 nptr
(如果 endptr
不是 NULL
)。
自以下版本可用:2.2