是否可以让read()函数从文件中检索六进制字节值?

时间:2017-01-25 00:25:57

标签: c

我正在尝试理解一些代码,我想知道它是否真的有效。

我不知道文件" test"的内容,但我想它必须符合"案例"你可以在代码中看到。

我通过创建文件" test"尝试了这段代码。内容" \ x08"或" 0x08" (或\ x04和0x04)但它没有进入2个第一种情况(相反,读取功能采取" \",然后" x"然后" 0&#34然后把它放在变量i

int main(){

    int i;

    fd = open("test",O_RDONLY);

    read(fd,&i,1);
    switch(i)
    {
        case 0x08:
           printf("0x08");
           break;
        case 0x04:
           printf("0x04");
           break;
        case 0x61:
           printf("0x61");
           break;
        default:
           printf("default\n"); 
     }
    close(fd);
    return 0;
}

对于案例3(0x61),当我将char a放入文件时(因为a的hexa值为0x61),它可以正常工作,但我能做些什么在第一个案件中放入文件?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以编写自己的测试文件生成器:

json_encode(mysqli_fetch_all($result, MYSQLI_ASSOC));