如何處理這個字符串str=“11,陸亞訊,19200,FFFF,1,0,0,0,0,0,4,3”
主 題: 如何處理這個字符串str=“11,陸亞訊,19200,FFFF,1,0,0,0,0,0,4,3” ![]() ![]() 作 者: isabc ( 書童) 所屬論壇: Visual C++論壇 本帖分數: 5 回復次數: 12 發表時間: 2007-9-6 15:15:28 正文內容: 根據逗號,取出每個逗號間的信息! 從str中得到 str0 = “11”; str1 = “陸亞訊”; str2 = “19200”; str3 = “FFFF”; str4 = “1”; str5 = “0”; str6 = “0”; 最新修改:2007-9-6 15:56:49 |
![]() |
回復人: shuishi32 (
進士) ![]() |
2007-9-6 15:30:00 |
CString str="11,陸亞訊,19200,FFFF,1,0,0,0,0,0,4,3";
int nPos1 = 0;
int nPos2 = 0;
CString st[20];
int i = 0;
for( (nPos2 = str.Find(',')) != -1)
{
st[i++] = str.Mid(nPos1, nPos2 - nPos1);
nPos1 = nPos2+1;
}
![]() |
回復人: 山丘之王 (
秀才) ![]() |
2007-9-6 15:37:04 |
CStringArray arr;
arr.setsize...
int old=-1,new=0;
while(true)
{
old = new ;
new = str.Find(',');
if(new <1)
{
arr.Add(str.Mid(old+1,str.GetLenth()));
break;
}
arr.Add(str.Mid(old+1,new));
}
回復人: isabc (
書童) ![]() |
2007-9-7 17:03:11 [修改] |
問題我已經解決了,使用 山丘之王和 shuishi32的代碼都不通過,不過你們的代碼還是有參考價值的,謝謝阿,送分了!!
for(int i=0; i<Str.GetLength (); i++ )
{
if((pos1=Str.Find (',',pos0))!=-1)
{
//Str1 = Str.Left (1);
Count = pos1 - pos0 ;
Str1 = Str.Mid (pos0,Count);
pos0 = pos1 + 1;
StrArray.Add (Str1);
}
}
int X = StrArray.GetSize ();
m_strCardNo = StrArray.GetAt (0);
m_strCardName = StrArray.GetAt (1);
posted on 2007-09-07 17:11 isabc 閱讀(571) 評論(2) 編輯 收藏 引用 所屬分類: BUG分析