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