newlist

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

"100,100;500,500;300,300;150,150;30,30"

 

static void split(const string& src, const string& separator, vector<string>& dest)
    {
        string str = src;
        string substring;
        string::size_type start = 0, index;

        do
        {
            index = str.find_first_of(separator,start);
            if (index != string::npos)
            {    
                substring = str.substr(start,index-start);
                dest.push_back(substring);
                start = str.find_first_not_of(separator,index);
                if (start == string::npos) return;
            }
        }while(index != string::npos);

        //the last token
        substring = str.substr(start);
        dest.push_back(substring);
    }
//调用
vector<string> vecData;
            CXCommon::split(CCXmlReader::getXMLNodeAttribStrs(pItemNode, "data"), string(";"), vecData);
            for (unsigned int i = 0; i < vecData.size(); i++)
            {
                vector<string> vecPos;
                CXCommon::split(vecData[i], string(","), vecPos);
                if (!vecPos.empty())
                {
                    mapInfo.foundationPos.push_back(CCPoint(atof(vecPos[0].c_str()), atof(vecPos[1].c_str())));
                }
            }
posted on 2013-06-18 14:16  一枚程序  阅读(1975)  评论(0编辑  收藏  举报