网络mg老虎机出分原理:有一个BYTE[ 2]的数组,BYTE[0]=0x04.BYTE[1]=0x05,请问我怎样才能将其转换为字符串“0405”?

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 13:37:15
需要在VC下实现
BYTE buf[4]=0x4E 3F 2A 3B;
我现在想把存放在数组中的16进制码转换成字符串"4E3F2A3B",请问该如何转换

请问我是不是需要先把16进制码转换成ASCII码?

#include <stdio.h>
#include <stdlib.h>
main(int argc, char *argv[])
{
unsigned char buf[4]={0x4E,0x3F,0x2A,0x3B};
char s[32];
sprintf(s,"%02x%02x%02x%02x\0",buf[0],buf[1],buf[2],buf[3]);
printf("%s",s);
}

若要输出大写字母,%02x 改用 %02X [X大写].

是不是 还有如BYTE[2]=1x06 BYTE[3]=1x07转换成106107?

用_itoa函数
BYTE buf[4]={0x4E,0x3F,0x2A,0x3B};
char str[16];
_itoa(DWORD(buf), str, 16);