Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C GLib/GTK2中的字符串列表_C_Gtk_Glib - Fatal编程技术网

C GLib/GTK2中的字符串列表

C GLib/GTK2中的字符串列表,c,gtk,glib,C,Gtk,Glib,如何使用GLib/GTK2中的字符串列表?之前,我在Qt库中使用QStringList,现在查找如何在GLib/GTK2中执行相同的操作。我知道有GList和GString数据类型。但我不知道如何正确使用它。不确定尝试谷歌关键词“glib gstring glist”对我没有帮助。我找不到好的教程 实际上,我现在需要一些基本功能。创建列表,在循环中填充字符串,检查列表是否包含某个字符串并清除列表。就这些 在Qt中我能做到 QStringList list; list << "firs

如何使用GLib/GTK2中的字符串列表?之前,我在Qt库中使用QStringList,现在查找如何在GLib/GTK2中执行相同的操作。我知道有GList和GString数据类型。但我不知道如何正确使用它。不确定尝试谷歌关键词“glib gstring glist”对我没有帮助。我找不到好的教程

实际上,我现在需要一些基本功能。创建列表,在循环中填充字符串,检查列表是否包含某个字符串并清除列表。就这些

在Qt中我能做到

QStringList list;
list << "first" << "second" << "third";
for (int i = 0; i < list.length(); ++i) {
    QString str = list.at(i);
    if (str == "second") {
        doSomeActions();
    }
}
list.clear();
QStringList列表;

列表Gnome开发人员文档给出了您所有问题的答案。对于GList,描述中已经给出了一些示例


因为你不是在问一个具体的问题,所以我不能给你一个具体的答案。在阅读并尝试了给定的资源之后,请随时再次询问是否有不清楚的地方

带有GList的QT代码段看起来像这样(带有动态分配):


“既然你不是在问一个具体的问题,我就不能给你一个具体的答案。”——对。这应该是评论,而不是回答;但是OP问题太宽泛了。更新问题。我认为最后必须是
list=NULL允许重用列表而无需额外操作。
GList *list = NULL;

g_list_append(list, g_strdup("first"));
g_list_append(list, g_strdup("second"));
g_list_append(list, g_strdup("third"));
for (GList *l = list; l != NULL; l = l->next) {
    if (g_strcmp(l->data, "second") == 0) {
        doSomeActions();
    }
}

g_list_free_full(list, g_free);