函数

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 给出的数字,该数字在 minmax 限制的包容界限内。如果为真,则转换后的数字存储在 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;调用者将拥有该数据的所有权并负责释放该数据。

返回值

类型: gboolean

如果 str 是数字,则为真;否则,为假。