我正在尝试将ASCII十六进制值(0x61或61)转换为它的char
值(61 = a等),而没有atoi
,scanf
,strcat
。
我将getchar()
保存到temp变量中,然后将第一个(6)保存在数组中,然后将第二个(1)保存在数组中,现在我想将这两个值转换为ASCII值。
68656c6c6f0d0a = hello
void asd(char fde)
{
char asmg[3];
asmg[0] = "0x";
asmg[1] = "6";
asmg[2] = "1";
printf("%c", asmg);
}
我希望它打印出“ a”,但它不起作用。
这样的事情,但这是行不通的。我需要将asmg [0],[1],[2]放在一个字符中,然后它应该可以工作。
谢谢 :)
最佳答案
不确定您要做什么,但这可能会有所帮助。
int main(int argc, char **argv)
{
int hex[6] = {0x68, 0x65, 0x6C, 0x6C, 0x6F};
int i = 0;
for(i = 0; i <6; i++)
{
printf("%c", hex[i]);
}
printf("\n");
}