今天测试使用 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; }