将整数的十进制值作为其ASCII表示插入到char矢量中

时间:2013-01-29 12:11:46

标签: c++ vector int

我有int,我想将其转换为vector<char>

例如:

std::vector<char> MyVct;
int i = 2046;

所以我想要一个大小为4的矢量:

MyVct[0] = '2';   
MyVct[1] = '0';   
MyVct[2] = '4';   
MyVct[3] = '6';  

我怎样才能以最有效的方式做到这一点?

2 个答案:

答案 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());