三里清风 发表于 2021-4-11 16:59:33

C语言操作16进制的问题

直接赋值:
unsigned char test = "\xfc\xe8\"
printf("%d", strlen(test));

读取赋值:
test.txt的内容:\xfc\xe8\

FILE *fp;
    unsigned char test;
    if ((fp = fopen("test.txt","r")) == NULL)
    {
      exit(0);
    }
    while (!feof(fp))
    {
      fgets(test, 1024, fp);
    }
    printf("%d", strlen(test));



结果不一样,把16进制放入本地txt中,如何正确读取,使结果和直接赋值的一样?

wp231957 发表于 2021-4-11 17:16:20

unsigned char test = "\xfc\xe8\"   这东西 就类似汉字内码一样吧

你把它直接放到txt中 ,那不就变成普通文本了吗又如何能显示呢

三里清风 发表于 2021-4-11 21:48:16

wp231957 发表于 2021-4-11 17:16
unsigned char test = "\xfc\xe8\"   这东西 就类似汉字内码一样吧

你把它直接放到txt中 ,那不就 ...

差不多,直接赋值和间接赋值的结果不一样
页: [1]
查看完整版本: C语言操作16进制的问题