c++ - vector 推回

标签 c++ vector push-back split

<分区>

Possible Duplicate:
Empty check with string split

我用'&'分割下面的字符串并将它保存在一个 vector 中

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),"=");

}

最后我只得到 vector “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 推回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12137794/

相关文章:

c++ - 了解 visual studio 2010 中的编译器选项差异和严格的 C++ 合规性

c++ - 如何通过重载 << 运算符打印出 vector 中的对象?

c++ - 在 vector::push_back 内存明智的情况下会发生什么?

c++ - vector push_back 在类对象中不起作用

c++ - 将值发送到 C# 包装的 C++ dll 导致 Unity 崩溃

c++ - 无法使用 g++ 链接 Xerces-c 静态库

java - Vector3f 还是 Vector3d?

c++ - C++ 中 vector push_back 操作的类型转换

c++ - 将 RenderTexture 复制到图像

c++ - 数字到固定长度的字符串