转换字符串的简便方法是什么?
" 1 0 2 1 4 5 6 195"
到一个int数组(或向量)?我知道可能的解决方案,但它们对我的目的来说似乎太复杂了(字符串的格式如示例中所示)。 std :: string或char []都可以。
答案 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 ) );