函数
GLibascii_string_to_unsigned
自 2.54 起
声明 [src]
gboolean
g_ascii_string_to_unsigned (
const gchar* str,
guint base,
guint64 min,
guint64 max,
guint64* out_num,
GError** error
)
描述 [src]
将字符串转换为无符号数字的便捷函数。
此函数假定 str
仅包含 base
给出的数字,该数字在 min
和 max
限制的包容界限内。如果为真,则转换后的数字存储在 out_num
中。空字符串不是有效输入。带有前导或尾随空格的字符串也不是有效输入。对于无符号解析器,带前导符号(-
或 +
)的字符串不是有效输入。
base
可以介于 2 到 36 之间(含)。十六进制数不得以“0x”或“0X”为前缀。八进制数不存在此问题,因为它们通常以不改变解析数字的值的零为前缀。
解析失败会导致带有 G_NUMBER_PARSER_ERROR
域的错误。如果输入无效,则错误代码将为 G_NUMBER_PARSER_ERROR_INVALID
。如果解析的数字超出界限,则为 G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS
。
如果你有更复杂的需求,例如解析以数字开头但随后有其他字符的字符串,请参见 g_ascii_strtoull()
。
自 2.54 起可用
参数
str
-
类型:
const gchar*
字符串。
该数据由函数调用者所有。 该值是 NUL 终止的 UTF-8 字符串。 base
-
类型:
guint
解析数字的基数。
min
-
类型:
guint64
下界(含)。
max
-
类型:
guint64
上界(含)。
out_num
-
类型:
guint64*
用于返回数字的返回位置。
该参数由函数设置。 该参数可以为 NULL
。 error
-
类型:
GError **
可恢复性错误 的返回位置。
该参数可以为 NULL
。如果返回位置不是 NULL
,则必须将其初始化为NULL
GError*
。如果不存在错误,该参数将由函数初始化并设置为 NULL
。如果发生错误,该参数将被设为新分配的 GError
;调用者将拥有该数据的所有权并负责释放该数据。