使用空格将字符串拆分为向量 c++ 错误

Posted

技术标签:

【中文标题】使用空格将字符串拆分为向量 c++ 错误【英文标题】:Split String to Vector with Whitespaces c++ error 【发布时间】:2016-11-29 18:44:18 【问题描述】:
#include <iostream>
#include <string>
#include <vector>
#include <sstream>

using namespace std;


vector<string> split_string(string s)

string buf;
stringstream ss(s);

vector<string> tokens;

while (ss >> buf)
    tokens.push_back(buf);

return tokens;



int main()

   cout << split_string("Alpha Beta Gamma");

当我尝试使用空格将字符串拆分为向量时,我无法打印出我的解决方案。

我不允许我使用 std::cout 但在我的函数中给出了返回值

为什么我不能那样使用它?我该如何解决这个问题?

【问题讨论】:

std::vector 没有重载运算符 这是和this one一样的赋值吗? 【参考方案1】:

std::cout 不能带向量,你需要遍历容器并分别打印每个元素,尝试使用这样的东西:

int main()

    string originalString = "Alpha Beta Gamma";  

    for (const auto& str : split_string(originalString))
        cout << str << '\n';

    return 0;

【讨论】:

以上是关于使用空格将字符串拆分为向量 c++ 错误的主要内容,如果未能解决你的问题,请参考以下文章

有没有一种简单的方法可以将由空格字符分隔的一行输入拆分为 C++ 中的整数?

如何在 C++ 中将空格分隔的字符串拆分为多个字符串?

在空格处拆分字符串向量

通过空格将字符串解析为向量

拆分字符串的最佳方法是啥? (c++) [重复]

php爆炸:使用空格分隔符将字符串拆分为单词