我不明白这个函数如何将字符串返回为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/

10-13 00:25