将字符串转换为int数组的最简单方法

时间:2014-03-13 00:13:49

标签: c++ c

转换字符串的简便方法是什么?

" 1 0 2 1 4 5 6 195"

到一个int数组(或向量)?我知道可能的解决方案,但它们对我的目的来说似乎太复杂了(字符串的格式如示例中所示)。 std :: string或char []都可以。

1 个答案:

答案 0 :(得分:4)

#include <string>
#include <vector>
#include <sstream>
#include <iterator>

// get string
std::string input = "1 0 2 1 4 5 6 195";

// convert to a stream
std::stringstream in( input);

// convert to vector of ints
std::vector<int> ints;
std::copy( std::istream_iterator<int, char>(in),
                std::istream_iterator<int, char>(), std::back_inserter( ints ) );