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

How to split a value to single decimal integer in C++

本文关键字:一个 拆分 十进制 整数 C++      更新时间:2023-10-16

我想在C++中将12345拆分为1 2 3 4 5。如果不使用模运算符,我怎么能做到这一点?。有什么有用的STL来处理这个问题吗?

正如评论中已经指出的,这里有一个通过转换为字符串来工作的解决方案。

#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的实现可能使用了模运算符。