gpt4 book ai didi

c - GLib/GTK2 中的字符串列表

转载 作者:太空宇宙 更新时间:2023-11-04 01:46:33 25 4
gpt4 key购买 nike

如何在 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();

GLib 中的哪个类似物?在实际应用程序中,字符串将被动态分配。所以在 clear() 中必须释放所有指针。

最佳答案

Gnome 开发人员文档为您提供了所有问题的答案。对于GList,说明中已经给出了例子。

https://developer.gnome.org/glib/2.56/glib-Doubly-Linked-Lists.html

https://developer.gnome.org/glib/2.56/glib-Strings.html

既然你不是真的在问一个具体的问题,我不能给你一个具体的答案。在阅读和试用给定的资源后,如果有任何不清楚的地方,请随时再次询问。

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

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);

关于c - GLib/GTK2 中的字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52905681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com