字串拆解的問題 |
答題得分者是:m8815010
|
Teresa_Chang
一般會員 ![]() ![]() 發表:41 回覆:42 積分:16 註冊:2004-05-04 發送簡訊給我 |
我寫了一個很基本的字串拆解的程式,
以下是我的程式
int i=0;
char Split[5][5];
char str[30];
char *tok=NULL; strcpy(str,encode_data.c_str());
tok = strtok(str,",");
while (tok!=NULL )
{
strcpy(Split[i],tok);
i ;
tok = strtok(NULL, ",");
} 但是我用這個字串(10,T,01,70,37.54,24"44.7322N,12"144.7045E)測試時, 當它碰到.和"就無法準確的利用,來區分每一個字串了, 這是為什麼呢?
|
GGL
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:104 回覆:600 積分:335 註冊:2006-11-05 發送簡訊給我 |
我把你的程式改成以下的...
int i=0; char Split[40][5]; char str[40]; char *tok=NULL; AnsiString encode_data; encode_data="10,T,01,70,37.54,24\"44.7322N,12\"144.7045E"; strcpy(str,encode_data.c_str()); tok = strtok(str,","); while (tok!=NULL ) { strcpy(Split[i],tok); Edit2->Text=Edit2->Text Split[i] " "; i ; tok = strtok(NULL, ","); }我這樣可以正常區分字串,我不清楚你要的是怎樣的,先改成這樣你看是不是 |
Teresa_Chang
一般會員 ![]() ![]() 發表:41 回覆:42 積分:16 註冊:2004-05-04 發送簡訊給我 |
|
m8815010
版主 ![]() ![]() ![]() ![]() ![]() 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 以下是利用memo的方式呈現我自行測試的結果 10 T 01 70 37.5424\"41210 24\"41210 1210 還是一樣的結果。 ================================================================= 另外,我用了你寫的方式再從做了一次測試,測試的結果如下: 10 T 01 70 37.54 24\"44.7322N 1210 最後一筆資料還是怪怪的, 請問一下問題到底出在哪?Teresa_Chang你好< >: 你印出的結果不對吧< >?? 因為結果不管對或是錯都不應該會有反斜線“\”出現在結果字串中吧! 也就是在原來的encode_data字串中加入的“\”並不會出現在結果中,這應該就不用解釋了吧 void __fastcall TForm1::Button2Click(TObject *Sender) { AnsiString encode_data="10,T,01,70,37.54,24\"44.7322N,12\"144.7045E"; TStringList* sl=new TStringList; sl->CommaText=encode_data; ShowMessage(sl->Count); <--印出拆出的資料總筆數 for (int i=0;iAll |
ubong
一般會員 ![]() ![]() 發表:2 回覆:42 積分:23 註冊:2002-10-02 發送簡訊給我 |
|
GGL
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:104 回覆:600 積分:335 註冊:2006-11-05 發送簡訊給我 |
引言:引言: 以下是利用memo的方式呈現我自行測試的結果 10 T 01 70 37.5424\"41210 24\"41210 1210 還是一樣的結果。 ================================================================= 另外,我用了你寫的方式再從做了一次測試,測試的結果如下: 10 T 01 70 37.54 24\"44.7322N 1210 最後一筆資料還是怪怪的, 請問一下問題到底出在哪?Teresa_Chang你好< >: 你印出的結果不對吧< >?? 因為結果不管對或是錯都不應該會有反斜線“\”出現在結果字串中吧! 也就是在原來的encode_data字串中加入的“\”並不會出現在結果中,這應該就不用解釋了吧 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |