函数

GLibHashTableget_keys_as_array

since: 2.40

声明 [src]

gpointer*
g_hash_table_get_keys_as_array (
  GHashTable* hash_table,
  guint* length
)

描述 [src]

获取 hash_table 中的所有键,作为一个数组。

返回的数组以 NULL 结尾,但可能包含 NULL 作为键。如果可能使用 NULL 作为键的值,请使用 length 确定真实的长度。

注意:在常见的字符串键 GHashTable 情况下,该函数的返回值可以方便地转换为 (const gchar **).

这会遍历哈希表中的每个条目来构建返回值。为了更有效地遍历 GHashTable 中的条目,请使用 GHashTableIter

您应该始终使用 g_free() 释放返回结果。在上文中提到的字符串键哈希表中,如果您首先调用 g_hash_table_steal_all() 将键的所有权传输,则可能适合使用 g_strfreev()

Available since: 2.40

此函数对语言绑定不可直接访问。

参数

hash_table

类型: GHashTable

GHashTable

数据由函数的调用者拥有。
length

类型: guint*

返回数组的长度。

该参数将由函数设置。
该参数可以是 NULL

返回值

类型: 一个指向 gpointer 的数组

一个包含表中每个键的 NULL 结尾数组。

数组的长度在 length 参数中。
函数的调用者将拥有数据容器,但不是容器内部的数据。