[ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): guest (¸®½ºÆ®Áú¹®) <165.213.0.2> ³¯ Â¥ (Date): 2002³â 3¿ù 5ÀÏ È­¿äÀÏ ¿ÀÈÄ 01½Ã 07ºÐ 48ÃÊ Á¦ ¸ñ(Title): glib¿¡¼­ ¸µÅ©¸®½ºÆ®¾²±â.. glibÀÇ gslistÀÇ ¾²·ÁÇϴµ¥.. ÀÌ·±½ÄÀ¸·Î Çϸé Àߵǰí Ãâ·Âµµ ÀߵǴµ¥, #include 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); } ¸Ó°¡ ¹®Á¦ÁÒ? [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): terzeron (microkid) ³¯ Â¥ (Date): 2002³â 3¿ù 6ÀÏ ¼ö¿äÀÏ ¿ÀÀü 01½Ã 16ºÐ 29ÃÊ Á¦ ¸ñ(Title): Re: glib¿¡¼­ ¸µÅ©¸®½ºÆ®¾²±â.. ±×°Ç g_slist_append°¡ °è¼Ó °íÁ¤µÈ ÁÖ¼Ò°ªÀ» ¹Þ¾ÆµéÀ̱⠶§¹®¿¡ »ý±â´Â ¹®Á¦ÀÔ´Ï´Ù. int main() { GSList *list = NULL; char inbuf[20]; char *temp; do { fgets(inbuf, 20, stdin); temp = strdup(inbuf); if (inbuf[0] == '.') break; list = g_slist_append(list, temp) ; } while (inbuf[0] != '.'); g_slist_foreach(list, (GFunc) PrintNames, NULL); return 0; } fgets¸¦ ¾²¼ÌÀ¸´Ï newline 󸮴 ¾Ë¾Æ¼­ ÇØÁּž߰ÚÁÒ?