我从数据库中取出的整型数据存放在CString的对象中,数据形式为“12 22 345 421 5...”,数据间有空格
请问怎样将所有数据取出并存放到整型数组中?

解决方案 »

  1.   


    有一个写好的函数,不过用的是stl的string,你可以参考下
    /**
    * 将一个字符串根据分隔符分成若干部分
    * @param[in] szSrc 待解析的字符串
    * @param[in] szSeperator 分隔符
    * @param[out] vecPart 存放各子字符串的vector
    * @return void
    */
    void SeperateString(LPCTSTR szSrc, LPCTSTR szSeperator, vector<tstring>& vecPart)
    {
    vecPart.clear(); size_t nPos = 0;
    tstring strSrc = szSrc;
    while ( !strSrc.empty() )
    {
    nPos = strSrc.find(szSeperator);
    if (nPos != tstring::npos)
    {
    vecPart.push_back(strSrc.substr(0, nPos));
    strSrc = strSrc.substr(nPos + 1);
    }
    else break;
    } if (!strSrc.empty())
    vecPart.push_back(strSrc);
    }
      

  2.   

    分割字符串可以考虑用 strtok
    http://msdn.microsoft.com/en-us/library/2c8d19sb(VS.71).aspx字符串转整型用atoi
    http://msdn.microsoft.com/en-us/library/yd5xkb5c.aspx
      

  3.   

    给你个简单的例子int a, b, c, d;
    CString str = _T("12 22 345 421");
    _stscanf(str, _T("%d %d %d %d"), &a, &b, &c, &d);
      

  4.   


    CStringlist strTail;
    CString strSource//数据源CString rString;
    int i = 0;
    while(AfxExtractSubString(rString, strSource, i, _T(' ')))
    {
    i++;
    strTail.AddTail(rString);
    }