将字符串转换为int c ++数组

时间:2014-05-16 13:49:21

标签: c++ arrays string int

我想使用c ++将字符串str = "12 13 15 20"转换为int str_int[4]{12,13,15,20}之类的整数数组。

1 个答案:

答案 0 :(得分:2)

您可以使用stringstream:

#include <iostream>
#include <sstream>
#include <vector>
#include <iterator>
#include <algorithm>
using namespace std;

int main()
{
    std::string s = "12 13 15 20";
    std::stringstream ss( s);

    int i;
    std::vector<int> v;

    while( ss >> i)
        v.push_back( i);

    std::copy( v.begin(), v.end(), 
                             std::ostream_iterator<int>( std::cout, ","));
    return 0;
}

另一种选择是:

std::copy( std::istream_iterator<int>( ss), std::istream_iterator<int>(),     
                                                   std::back_inserter(v));