c - 用 GLib 替换文本

标签 c glib

我有一个包含大量 \n 的字符串,我想将它们中的每一个都转换为 \001\n\001CW1 。使用 glib 最简单的方法是什么?没有正则表达式,只是简单替换。

最佳答案

这可以通过 g_strsplitg_strjoinv 轻松完成:

char **split = g_strsplit(text, "\n", -1);
g_free(text);
text = g_strjoinv("\001\n\001CW1 ", split);
g_strfreev(split);

虽然这是脚本语言中非常常见的构造,但在 C/glib 中这样做有点奇怪,但我想这是正确/唯一的方法。

关于c - 用 GLib 替换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50575220/

相关文章:

c - JSON - 对象的嵌套

c - 需要在线程任务中正确使用 sleep()

c++ - 如何将 header 元数据设置为编码视频?

c - GtkApplication 的初始化 - 我应该使用 GObject 的 "init"还是 GtkApplication 的 "startup"?

c - ptrace 更改系统调用编号 arm64

python - Python 中是否有与 C 的 strnset() 等效的函数?

c - 在 C++ 中使用 g_idle_add() 时出错,在 C 中同样有效

c - Glib 类型转换宏

c - 在c中使用glib的g_hash_table_insert时出现段错误

c - 如何安全地使用 g_variant_iter_loop 处理通过 DBUS 接收的数据