0

我必须将 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;
4

3 回答 3

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
于 2013-04-22T10:56:12.293 回答
0
for each digit
    ca[ i ] = digit + '0';

笔记:

  • 注意数字的不同长度
  • ca根据数字的“长度”(位数)动态分配
  • 对每个数字进行迭代可以通过使用%/运算符来进行模和除法。
于 2013-04-22T10:55:05.117 回答
0

使用模和除法运算符得到每个数字,然后打印每个数字加'0'

于 2013-04-22T10:55:15.570 回答