2011-04-16 42 views
2

如何把00000000004004d8轉換爲ascii字符串?如何將c中的任意十六進制轉換爲ascii?

例如,41用於A

+0

「42」如何解釋爲「A」? ??? *在ASCII中,字符「A」的值爲65(十進制; 0x41十六進制)*還需要弄清楚如何處理範圍之外的十六進制值和奇數長度的輸入字符串。 – pmg 2011-04-16 13:23:22

回答

3

我會用sscanf來做到這一點。例如:

char c[8]; 
sscanf("00000000004004d8", "%02x%02x%02x%02x%02x%02x%02x%02x", 
    &c[0], 
    &c[1], 
    &c[2], 
    &c[3], 
    &c[4], 
    &c[5], 
    &c[6], 
    &c[7]); 
+0

如何使'00000000004004d8'成爲一個參數,以便它可以用於仲裁hex? – 2011-04-16 13:43:10