fread()读取包含C语言中的十六进制的二进制文件

时间:2018-02-18 19:13:04

标签: c

我正在尝试读取包含hex的二进制文件。正如您从二进制文件的图片中看到的那样。但是,输出不会产生01.我已经打开了文件,我使用fseek()指向文件的开头。下面我的程序中有三行应打印出01。

Binary File

unsigned char begintag[2];
fread(&begintag,1,1,ptr_myfile);
printf("%x",begintag);

1 个答案:

答案 0 :(得分:1)

您将begintag声明为数组,因此不应在&&调用中放置&符号fread。现在,您将从文件读取的值分配给变量指向的内存地址值。以下代码打印调用"in.bin"fseek的{​​{1}}文件中第一个字节的十六进制值。虽然您可以简单地使用fread来读取字节:(警告:此处没有错误检查)

fgetc