我试图打开一个二进制文件并读取一个类的任务内容。即使在进行研究之后,我在尝试打开并打印二进制文件的内容时遇到了任何问题。我甚至不知道我应该得到什么,如何检查它是正确的,但我知道没有任何东西(这是我目前得到的)是不好的。下面是我从这个网站在C中打开二进制文件
#include<stdio.h>
int main()
{
FILE *ptr_myfile;
char buf[8];
ptr_myfile = fopen("packets.1","rb");
if (!ptr_myfile)
{
printf("Unable to open file!");
return 1;
}
fread(buf, 1, 8, ptr_myfile);
printf("First Character: %c", buf[0]);
fclose(ptr_myfile);
return 0;
}
当此打印,我得到了搜索代码“第一个字符:”没有别的印刷。也许它不能在终端中正常打印?我不知道,任何帮助将不胜感激,谢谢
看来你正确地调用它。用文本文件尝试一下。 –
如果您使用十六进制编辑器查看您想要读取的文件,它会显示第一个字符。或者你可以打印字符的值,而不是试图将其转换为字符,只是为了检查它 - 它可能是一个空白字符。请注意,如果您使用以Unicode编码的文本文件,则文件的开头可能会有一个字节顺序标记。 –