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