我必须将 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;
我必须将 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;
#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
for each digit
ca[ i ] = digit + '0';
笔记:
ca
根据数字的“长度”(位数)动态分配%
和/
运算符来进行模和除法。使用模和除法运算符得到每个数字,然后打印每个数字加'0'
。