如何读取命令行c ++中用空格分隔的输入数字

时间:2014-08-26 12:18:04

标签: c++

我得到了以下代码:

    std::cin >> N >> T;
    std::vector<int> width;

    for (int w = 0; w < N; w++)
    {
        int tmp;
        std::cin >> tmp;

        width.push_back(tmp);
    }

如果我将3 2 3 4作为输入放在控制台中,它会用空格分隔并存储为矢量数组。

我的问题是如何读取空格分隔的cin中的整数值?我原本以为你应该做std::cin >> tmp输入四次?

1 个答案:

答案 0 :(得分:0)

你的意思是以下几点吗?

#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdlib>


int main( int argc, char **argv )
{
   std::vector<int> v;
   v.reserve( std::max( 0, argc - 1 ) );

   for ( int i = 1; i < argc; i++ ) v.push_back( std::atoi( argv[i] ) );

   //...
}