[問題] C語言 strtok取法相關

看板C_and_CPP (C/C++)作者 (呼嚕呼嚕啦啦啦)時間16年前 (2010/06/06 11:43), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) 例如資料庫為: aaaaa cccccc dd fffff dd ggg hhhh 已建立一字串的struct gen[].name如下: aaaaa bbb cccccc dd eee fffff ggg hhhh 如下所附的code,希望以strtok取資料庫出來後,逐一與gen[].name相比 將相同結果以0存在rep[][]中(rep已初始為1),希望結果為: rep[0][0]=0 rep[0][2]=0 rep[0][3]=0 rep[0][5]=0 rep[1][3]=0 rep[1][6]=0 rep[1][7]=0 程式跑出來的錯誤結果: 資料庫換行前的最後一筆資料 沒做到strcmp的判斷 意即輸出為: rep[0][0]=0 rep[0][2]=0 rep[0][3]=0 rep[1][3]=0 rep[1][6]=0 其他值都為1 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Dev-C 有問題的code: (請善用置底文標色功能) fseek(frep,46,SEEK_SET);//跳過資料庫前言 while(fgets(str,200,frep)!=NULL) { Token = strtok(str,sep); while(Token != NULL) /* 使用迴圈取出剩餘句元 */ { printf("%s",Token); for( k=0 ; k<g_num ; k++ ) { i=strcmp(Token,gen[k].name); if( i==0 ){//比較名稱,相同則在該順序存0 rep[month][k]=0; printf("%d %d %d\n",month,k,rep[month][k]);} } Token = strtok(NULL,sep); } month++; } 補充說明: 感激不盡 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.12.152

06/08 14:30, , 1F
朋友找到問題了 切割判斷中 加上\n即可 ~"~
06/08 14:30, 1F
文章代碼(AID): #1C2nbN4x (C_and_CPP)
文章代碼(AID): #1C2nbN4x (C_and_CPP)