m_tshopInfo.szItem = m_tshopInfo.ShopItemName;
  int index;
TCHAR seps[] = {_T(",Item_")};
TCHAR *token = NULL,*nextToken = NULL,*temp = NULL;
temp = m_tshopInfo.szItem.GetBuffer(m_tshopInfo.szItem.GetLength()+1);
token = wcstok_s(temp,seps,&nextToken);
while( token != NULL )
{
token = wcstok_s(NULL,seps,&nextToken);
}temp取出来的值是Item_小豬,Item_小兔,Item_小蛇,Item_小貓,Item_小狗,Item_小青蛙,Item_小麻雀...(數量不固定,從文件讀出來的)
通過wcstok_s截取把值給token
我就是想得到每次取出的值,例如第一次取出來的是“小豬”,我就將它賦給一個值cstring name;將index =0;
第二次取出來“小兔”,在賦值,index=2;以此類推。

解决方案 »

  1.   


    CString strText = _T("Item_小豬,Item_小兔,Item_小蛇,Item_小貓,Item_小狗,Item_小青蛙,Item_小麻雀");
    LPCTSTR szToken = _T("Item_,");
    CString strToken(_T(""));
    int curPos = 0;
    while(_T("") != (strToken = strText.Tokenize(szToken, curPos)))
    {
    if(!strToken.IsEmpty())
    {
    AfxMessageBox(strToken);
    }
    }
      

  2.   

    CString等Right等截取掉Item_不久可以得到了
      

  3.   

    不一样,你那里没有判断
    wcslen(token)==0 的情况
      

  4.   

    组织部长的那个curPos对我的程序没用啊。我要的是ITEM项的序号,不是字符串的分割点。
    取出来第一个ITEM,赋个序号index = 1,
    取出来第二个ITEM,赋个序号index = 2,
    ....
    这样子的。
    帮帮忙。我试了半天就是取不好