2013-04-22 84 views
0

我必須將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; 

回答

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 
+0

的sprintf(CA, 「%d」,ITEST); 也很好,謝謝大家:D – Weqk 2013-04-22 11:07:47

+0

是的,但使用C++建議使用類型安全的方法。 – deepmax 2013-04-22 11:09:14

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

注:

  • 音符數
  • 的不同長度動態地分配ca,基於num的「長度」 ber(位數)
  • 遍歷每個數字可以通過使用%/運算符來進行模和除法。
0

使用模和除法運營商獲得每一個數字,然後打印每一位加入'0'