c ++仅从ostringstream中提取数字
c++ extract just numbers from an ostringstream
如果我有一个 ostringstream
,其中包含由 -
分隔的各种数字
(即:space
-
space
顺便说一句)
我可以单独提取每个数字吗?
像这样的东西可能有用....
#include <boost/algorithm/string.hpp>
std::vector<int> ints;
boost::split(ints, " - ",std::stoi (stream.str()));
使用此处的一个 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";
}
}
如果我有一个 ostringstream
,其中包含由 -
(即:space
-
space
顺便说一句)
我可以单独提取每个数字吗?
像这样的东西可能有用....
#include <boost/algorithm/string.hpp>
std::vector<int> ints;
boost::split(ints, " - ",std::stoi (stream.str()));
使用此处的一个 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";
}
}