从stdin获取数字列表并标记它们

Ste*_*eve 0 c++ stringstream tokenize

我如何从用户那里获得一个数字列表,然后将它们标记化.

这就是我所拥有的,但除了第一个数字之外它没有得到任何东西:

#include <iostream>
#include <sstream>
#include <vector>
#include <string>

using namespace std;

int main()
{

    string line = "";
    cin >> line;

    stringstream lineStream(line);

    int i;
    vector<int> values;

    while (lineStream >> i)
        values.push_back(i);

    for(int i=0; i<values.size(); i++)
        cout << values[i] << endl;

    system("PAUSE");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

相关文章:
C++,从字符串到字符串流到矢量
Int Tokenizer

Pav*_*aev 5

这可能是将值读cin入容器的最简单方法:

#include <iostream>
#include <iterator>
#include <vector>

int main()
{
    std::vector<int> values;
    std::copy(
        std::istream_iterator<int>(std::cin), 
        std::istream_iterator<int>(),
        std::back_inserter(values));

    // For symmetry with the question copy back to std::cout
    std::copy(
        values.begin(),
        values.end(),
        std::ostream_iterator<int>(std::cout,"\n"));

}
Run Code Online (Sandbox Code Playgroud)