如何在C ++中将值拆分为一个十进制整数

时间:2018-07-30 08:56:44

标签: c++

我想在C ++中将12345拆分为1 2 3 4 5。不使用模运算符怎么办? 有什么有用的STL可以处理吗?

1 个答案:

答案 0 :(得分:6)

正如评论中已经指出的那样,这是一个通过转换为字符串而起作用的解决方案。

#include <algorithm>
#include <vector>
#include <string>

const auto str = std::to_string(12345);
std::vector<int> result;

std::transform(str.cbegin(), str.cend(), std::back_inserter(result),
    [](auto c){ return c - 48; });

请注意,std::to_string的实现可能使用模运算符。