g_strstrip () Segmentation fault 段错误

今天测试使用  g_strstrip( string ) 函数来去除字符串的前后空白,结果发现一直出段错误。

原来是用来测试的字符串初始化不正确导致的。

怀疑直接使用注释中的代码,得到的字符串不是以NULL结尾,所以导致这个问题。

 

/**
* gcc -g -o t-g_strstrip t-g_strstrip.c `pkg-config --cflags --libs gtk+-2.0`
*/
#include <gtk/gtk.h>
int     main(int argc, char* argv[])
{

        gchar *for_strip = g_strdup("  b  bbbbbSTRINGbbbbbZ  ");
        // gchar *for_strip = "  b  bbbbbSTRINGbbbbbZ  "; ERROR CODE
        g_message ("befor strip is |%s|\n",for_strip);
        g_strstrip (for_strip);
        g_message ("after strip is |%s|\n",for_strip);

        return FALSE;
}
 

你可能感兴趣的:(C++,c,gcc,C#)