函数
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,则必须将其初始化为NULLGError*。如果发生错误,此参数将由函数初始化并设为 NULL,调用方将拥有此数据的所有权,并负责释放它。在发生错误的情况下,此参数将被设为一个新分配的 GError;调用方将拥有数据的拥有权,并且负责释放掉该数据。