函数
GLibascii_string_to_signed
自版本:2.54 起提供
声明 [src]
gboolean
g_ascii_string_to_signed (
const gchar* str,
guint base,
gint64 min,
gint64 max,
gint64* out_num,
GError** error
)
说明 [src]
将字符串转换为有符号数字的便捷函数。
此函数假定,str
仅包含 base
给定的数字,它处于 min
和 max
限制的包容范围内。如果为 true,则转换后的数字将存储在 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_strtoll()
。
自以下版本起提供:2.54
参数
str
-
类型:
const gchar*
要转换的 字符串。
此数据由函数的调用方所有。 该值为以空字符结尾的 UTF-8 字符串。 base
-
类型:
guint
解析后的 数字
min
-
类型:
gint64
下限 (包含)。
max
-
类型:
gint64
上限 (包含).
out_num
-
类型:
gint64*
数字的返回 位置。
此参数将由函数设置。 此参数可以是 NULL
。 error
-
类型:
GError **
可恢复性错误的返回位置(一个可恢复错误)。
此参数可以是 NULL
。如果返回位置不为 NULL
,则必须将其初始化为NULL
GError*
。如果发生错误,此参数将由函数初始化并设为 NULL
,调用方将拥有此数据的所有权,并负责释放它。在发生错误的情况下,此参数将被设为一个新分配的 GError
;调用方将拥有数据的拥有权,并且负责释放掉该数据。