我不明白这个函数如何将字符串返回为gchar*
。
它是否为字符串存储动态分配内存?那么,在这种情况下,可能是内存泄漏?
typedef char gchar;
gchar *g_key_file_get_string(GKeyFile *key_file,
const gchar *group_name,
const gchar *key,GError **error)
对不起,英语不好。
最佳答案
documentation表示:
返回:新分配的字符串,如果找不到指定的键,则返回空。
所以是的,函数在内部分配内存,您应该在使用后释放内存,以防止内存泄漏。
根据一般经验,如果GLib函数希望您释放某些内容,则返回gchar *
,否则返回const gchar *
。
关于c - g_key_file_get_string()如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19480374/