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

src*_*ode 1 c++

我想在C++中将12345分成1 2 3 4 5.如果不使用模数运算符,我怎么能这样做?任何有用的STL来处理这个问题?

lub*_*bgr 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; });
Run Code Online (Sandbox Code Playgroud)

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