我必須將int轉換爲ASCII字符串。 基本上,我想這樣:如何將int轉換爲ASCII字符C++
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轉換爲ASCII字符C++
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
,基於num的「長度」 ber(位數)%
和/
運算符來進行模和除法。使用模和除法運營商獲得每一個數字,然後打印每一位加入'0'
。
的sprintf(CA, 「%d」,ITEST); 也很好,謝謝大家:D – Weqk 2013-04-22 11:07:47
是的,但使用C++建議使用類型安全的方法。 – deepmax 2013-04-22 11:09:14