Possible Duplicate:
Empty check with string split




我用“&”分割以下字符串,并将其保存在向量中

const vector<string> vec = split("f0=fname0&l0=lname0&f1=fname1&l1=lname1&f2=fname2&l2=lname2&f3=&l3=","&");


现在,我再次使用以下代码用'='拆分拆分的字符串。

vector<string> vec1;
for (std::vector<std::string>::size_type a = 0; a < vec.size(); ++a)
{
     vec1=split(vec.at(a),"=");

}


最后,我只得到向量'vec'的最后一项到'vec1'。每当我的vec1指针刷新时。但是我想在vec1的最后一个位置添加分割的字符串。
我怎样才能做到这一点 ?

最佳答案

您在循环中每次都分配给vec1,因此它将仅包含最后一对。相反,您应该附加到vec1。这可以通过insert函数最简单地完成:

vector<string> vec1;
for (std::vector<std::string>::size_type a = 0; a < vec.size(); ++a)
{
    vector<string> tmp = split(vec.at(a),"=");
    vec1.insert(vec1.end(), tmp.begin(), tmp.end());
}

关于c++ - vector Push_back ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12137794/

10-11 23:19