我正在尝试读取二进制文件并将每个字节打印为2hex数字,但是当时 我到了一个空间我的程序打印'0'时它应该是'20'并且它每20次执行此操作
我的输出0 17 FF FF FF FF 0 0 17 FF FF FF FF FF 0 0 0 FF 0 0
http://www.percederberg.net/tools/text_converter.html
的输出20 17 FF FF FF FF 20 20 17 FF FF FF FF FF 20 20 20 FF 20 20
有谁知道最近发生了什么?
file = ÿÿÿÿ ÿÿÿÿÿ ÿ
//Read the test.bin file!!
#include<stdio.h>
char initial[] = "test.bin";
struct rec{
unsigned char mydata;
};
int readfile(char []){
int counter;
FILE *ptr_myfile;
struct rec my_record;
ptr_myfile=fopen(initial,"r");
if (!ptr_myfile){
printf("Unable to open file!");
return 1;
}
for ( counter=1; counter <= 20; counter++){
fread(&my_record,sizeof(struct rec),1,ptr_myfile);
printf("%X\n",my_record.mydata);
}
fclose(ptr_myfile);
return 0;
}
int main(){
readfile(initial);
return 0;
}
答案 0 :(得分:0)
代码工作正常,但在将二进制数据复制到网站时,0x00
字节最终变为空格,其中ASCII和兼容字符集的值为0x20
。