我如何阅读它以便我可以在控制台中看到内容?
我用这种方式:
n = fread(buffer, sizeof(buffer), 1, fp);
printf("0x%x", buffer);
这里我只输出1个字节,但文件包含72个字节。
答案 0 :(得分:2)
正如Yves Daoust指出的那样,%x格式化程序需要一个字节。循环遍历值将以十六进制打印所有值。
n = fread(buffer, 1, sizeof(buffer), fp);
int i=0;
for(i=0; i<n; i++)
{
printf("0x%x ", buffer[i]);
}
关于恐惧的附注:
fread
的第二个参数是您要读取的每个成员的大小,而第三个参数包含您要读取的数据的总长度(手册页:http://www.manpagez.com/man/3/fread/)尽管它可能没有在这种情况下可见影响,在您的代码示例中,两个参数似乎已被交换。
答案 1 :(得分:0)
%x格式描述符需要单个值,它不处理数组。您需要在循环中逐个打印72个字节。