函数

GLibstrsplit

声明 [src]

gchar**
g_strsplit (
  const gchar* string,
  const gchar* delimiter,
  gint max_tokens
)

说明 [src]

使用给定的 delimiter 将字符串拆分为最多 max_tokens 份。如果达到 max_tokens,则将 string 的余下部分追加到最后一个标记。

例如,g_strsplit (":a:bc::d:", ":", -1) 的结果是一个包含六个字符串的数组,“”、“a”、“bc”、“”、“d” 和 “”。

作为特殊情况,拆分空字符串”“的结果是一个空数组,而不是包含一个字符串的数组。这种特殊情况的原因是能够表示一个空数组通常比一致地处理空元素更有用。如果你确实需要表示空元素,则需要在调用 g_strsplit() 之前检查空字符串。

参数

string

类型: const gchar*

要拆分的字符串。

数据归函数的调用者所有。
此值为以 NUL 结尾的 UTF-8 字符串。
delimiter

类型: const gchar*

一个字符串,用于指定拆分字符串的位置。如果不达到 max_tokens,则分隔符不包含在任何结果字符串中。

数据归函数的调用者所有。
此值为以 NUL 结尾的 UTF-8 字符串。
max_tokens

类型: gint

string 拆分为的最大片段数。如果此值小于 1,则字符串会被完全拆分。

返回值

类型: 数组的 utf8

一个新分配的字符串数组,使用 g_strfreev() 释放。

此数组以 NULL 结尾。
函数的调用者拥有这些数据的所有权,并负责释放它们。
每个元素都是以 NUL 结尾的 UTF-8 字符串。