c ++只从ostringstream中提取数字

时间:2015-01-22 13:47:58

标签: c++ string ostringstream

如果我的ostringstream包含以-

分隔的各种数字

(那是space - space btw)

我可以单独提取每个号码吗?

2 个答案:

答案 0 :(得分:2)

使用此处的一个spiting函数: Split a string in C++? 将它们存储为std :: vector中的字符串, 然后使用std :: stoi(或等效的)将字符串解析为整数,用try / catch包围每个调用。

示例(拆分后):

for (int i = 0; i < arrayOfStrings.size(); i++)
{
    try
    {
        int myInt = std::stoi(arrayOfStrings[i]);
    }
    catch (std::exception& e)
    {
        std::cout<<e.what()<<"\n";
    }
}

答案 1 :(得分:0)

这样的事情可能有用......

#include <boost/algorithm/string.hpp>
std::vector<int> ints;
boost::split(ints, " - ",std::stoi (stream.str()));