glibc g_strsplit 切割字符串

来源:互联网 发布:淘宝 售后时间 编辑:程序博客网 时间:2024/06/05 13:24

Python中,分割字符串:

str = "aaa,bbb,ccc,ddd"arr = str.split(",")print arr

python这个切割字符串特别好用,连长度都不用指定,很方便,不用担心踩地雷,但是C/CPP中,就没有了,这点比较遗憾。



虽然标准的c库里没有,但是 glibc 这个强大的库里有一个 g_strsplit 很强大

gchar**               g_strsplit       (const gchar  *string,
                                                 const gchar  *delimiter,
                                                 gint          max_tokens) G_GNUC_MALLOC;


第一个参数是字符串

第二个参数是分割符

第三个参数是最大分割大小,这个要小心了,如果选择过小,后面的就可能切割不了。


#include <stdio.h>#include <glib.h>int main(void) {    char *str = "aaa,bbb,ccc,ddd";    gchar **arr;    gint i;    arr = g_strsplit(str, ",", 2);    for (i = 0; arr[i] != NULL; i++)        g_print("%s\n", arr[i]);}


gcc `pkg-config --cflags --libs glib-2.0` strsplit.c

./a.out


glibc 编译需要带上 lib库才能编译通过



原创粉丝点击