0
如何在C中使用g_array_sort? 使用比較字符串我的代碼,但I'cant獲取數據g_array_sort不能在字符串上工作
int porownanie(gpointer a, gpointer b)
{
char *str_a = (char *)a; char *str_b = (char *)b;
printf("[%s:%s]=%d\n",str_a,str_b,g_ascii_strcasecmp(str_a,str_b));
return strcmp(str_a,str_b);
}
主要功能
GArray* t = g_array_new(FALSE, FALSE, sizeof(char*));
char* a = "a", *b = "c", *c = "d"....
g_array_append_val(t, a);....
prt(t);printf("Sortujemy\n"); g_array_sort(t, (GCompareFunc)porownanie);
prt(t); printf("Porownanie %d\n",porownanie((char *)"a",(char *)"b"));
我得到:
Tablica: b a f c d
[z_:t_]=6
[v_:x_]=-2
[|_:v_]=6
[|_:x_]=4
[t_:v_]=-2
[z_:v_]=4
[z_:x_]=2
[z_:|_]=-2
Tablica: a c d b f
[a:b]=-1 Porownanie -1
我沒有得到的char *從g_aray_sort,我得到隨機數據
我無法投票。你的回答很好。工作 – user1415926535897
很好的答案。 _好_ – user1415926535897