-2

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

例如:

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

所以我想要一个大小为 4 的向量,它将具有:

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

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

4

2 回答 2

3

一种方便的方法是使用std::to_string

auto s1 = std::to_string(i);
std::vector<char> vec1(s1.begin(), s1.end());
于 2013-01-29T12:19:23.723 回答
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());
于 2013-01-29T12:17:40.830 回答