2010-08-17 39 views

回答

4

實際上,它會在字符數組是:

char c = 84; 
char result[3]; 
sprintf(result,"%02x",c); 
0

下面的代碼,使用snprintf()應該工作:

#include <stdio.h> 
#include <string.h> 

int main() 
{ 
    char myChar = 'A'; // A = 0x41 = 65 
    char myHex[3]; 
    snprintf(myHex, 2 "%02x", myChar); 

    // Print the contents of myHex 
    printf("myHex = %s\n", myHex); 
} 

snprintf()是如同功能10,除了它填充最大N個字符的char數組。的snprintf()語法是:

int snprintf(char *str, size_t size, const char *format, ...) 

其中str是字符串爲「衝刺」來的,大小是要寫入的字符的最大數量(在本例中2),剩下的就是像正常printf()

1

這是很容易閱讀:-)

#define H(x) '0' + (x) + ((x)>9) * 7 
char c = 84; 
char result[3] = { H(c>>4), H(c&15) };