我正在尝试将ASCII十六进制值(0x61或61)转换为它的char
值(61 = a等..)没有 atoi
、scanf
、strcat
。
我将 getchar() 保存到临时变量,然后将第一个 (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");
}
关于将十六进制值 (ASCII) 转换为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40308404/