如何将int转换为ASCII char C ++

时间:2013-04-22 10:51:15

标签: c++ hex type-conversion ascii arrays

我必须将int转换为ASCII字符串。 基本上,我想要这个:

    int iTest = 128;
    char ca[3];
??? --> **SOLUTION :** sprintf(ca,"%d",iTest);

结果:

 ca[0] = 0x31;--> Hexcode of '1'
 ca[1] = 0x32;
 ca[2] = 0x38;

3 个答案:

答案 0 :(得分:1)

使用std::stringstd::to_string

#include <string>
#include <iostream>

using namespace std;

...

int iTest = 128;

string ca = to_string(iTest);

for (int i = 0; i < ca.size(); i++)
{
    cout << hex << "0x" << (int) ca[i] << endl;
}

结果:

0x31
0x32
0x38

答案 1 :(得分:0)

for each digit
    ca[ i ] = digit + '0';

注意:

  • 注意数字的不同长度
  • 根据号码的“长度”(位数)动态分配ca
  • 可以通过使用%/运算符进行模数和除法来迭代每个数字。

答案 2 :(得分:0)

使用模数和除法运算符获取每个数字,然后打印添加'0'的每个数字。