[問題] 請教各位大神一個sscanf的問題

看板mud_sanc作者 (StarWars太好看啦!)時間13年前 (2011/06/10 15:33), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
大家好,小的是亂世的Zoro,一值都有在偷偷的逛ptt偷學,第一次跟大家打招呼 XD 話說我最近遇到一個sscanf()的問題想請前輩Wiz們指點~ 有一個data.o檔案,裏面有一串mapping是 all_items (["188931_ONAME":"測試裝備","188931_UID":"zoro", "188931_DATA":(["value":20000,"limit_con":60, "name":"測試裝備", "armor_prop":(["armor":60,"defense":50,]), "id":"test eq","limit_str":40,]), "188931_VALUE":1000000,"188931_TIME":1307688931, "188931_FILE":"/obj/temp/test_eq.c",]) 也就是前面有一串隨機數字加上 _"xxx"當做index,我想以把all_items整串輸入進去後 ,抓取 _ONAME 當關鍵字然後把前面的隨機數字讀出來指定該物品 下面是這段Code,現在就一值卡在綠色那行,請各位指點一下~ ----- int do_list(string arg) { string msg, name, *items; int i, n, j; if(!sizeof(all_items)) return 0; msg = ""; items = keys(all_items); n = sizeof(items); for(i=0;i<n;i++) { if (sscanf(items, "%d_%s", j, name)==2 && name == "ONAME") { if ( (time()-all_items[j+"_TIME"]) < DEADLINE_TIME ) { msg += sprintf(" (%-6d) %-24s %8s %-12s %s\n", j, filter_color(all_items[items])+"("+all_items[j+"_OID"]+")", filter_color(MONEY_D->money_str(all_items[j+"_VALUE"])), time_string(86400 - (time()-all_items[j+"_TIME"])), all_items[j+"_UNAME"]+"("+all_items[j+"_UID"]+")"); } } } this_player()->start_more(msg); return 1; } ---- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.132.200 ※ 編輯: mantohu 來自: 58.115.132.200 (06/10 15:35)
文章代碼(AID): #1DySZTLh (mud_sanc)
文章代碼(AID): #1DySZTLh (mud_sanc)