C++ 只从 ostringstream 中提取数字

c++ extract just numbers from an ostringstream

本文关键字:提取 数字 ostringstream 只从 C++      更新时间:2023-10-16

如果我有一个包含用-分隔的各种数字的ostringstream

(那是:顺便说一句space - space

我可以单独提取每个数字吗?

从这里使用吐槽函数之一: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";
    }
}

这样的事情可能会起作用....

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