| [ CnUnix ] in KIDS 글 쓴 이(By): guest (리스트질문) <165.213.0.2> 날 짜 (Date): 2002년 3월 5일 화요일 오후 01시 07분 48초 제 목(Title): glib에서 링크리스트쓰기.. glib의 gslist의 쓰려하는데.. 이런식으로 하면 잘되고 출력도 잘되는데, #include <glib.h> gint CompareNames(gconstpointer sName1, gconstpointer sName2) { return ((gint) strcmp ((char *) sName1, (char *) sName2)); } void PrintNames(gpointer data, gpointer user_data) { gchar *message; /* convert the data to a string */ message = (gchar *)data; /* display the string */ g_print("%s\n",message); } main() { GSList *list = NULL; char sName[] = "조형기"; list = g_slist_append(list, sName); list = g_slist_append(list, "이문세"); list = g_slist_prepend(list,"박주미"); list = g_slist_insert(list,"문성근",1); list = g_slist_insert_sorted(list, "신성일", CompareNames); g_slist_foreach(list, (GFunc) PrintNames, NULL); return 0; } 이런식으로 하려니깐 잘 안되는군요.. 나중에 쩜 (.) 만 찍히네요.. 리스트가 다 지워지는듯.. main() { GSList *list; char inbuf[20]; for (list = NULL; ;list = g_slist_append(list, inbuf) ) { printf("fgets:%s",fgets(inbuf,20,stdin)); printf("printf:%s",inbuf); if (inbuf[0] == '.') break; } g_slist_foreach(list, (GFunc) PrintNames, NULL); } 머가 문제죠? |