我有int
,我想将其转换为vector<char>
。
例如:
std::vector<char> MyVct;
int i = 2046;
所以我想要一个大小为4的矢量:
MyVct[0] = '2';
MyVct[1] = '0';
MyVct[2] = '4';
MyVct[3] = '6';
我怎样才能以最有效的方式做到这一点?
答案 0 :(得分:3)
一种方便的方法是使用std::to_string
:
auto s1 = std::to_string(i);
std::vector<char> vec1(s1.begin(), s1.end());
答案 1 :(得分:2)
这样做:
if (n == 0) { MyVct.push_back('0'); }
else { for ( ; n; n /= 10) { MyVct.push_back('0' + (n % 10)); } }
std::reverse(MyVct.begin(), MyVct.end());