我正在尝试将ASCII十六进制值(0x61或61)转换为它的char值(61 = a等),而没有atoiscanfstrcat

我将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");
}

09-17 11:41