我有一个项目,我需要将一个十六进制文件拆分为8个字节,然后,我需要通过总线协议将它们发送出去。首先,我需要进行分割。
我已经尝试使用“ tr -d'\ n' 所以我试图用C编写一个程序,在该程序中我创建了一个缓冲区来一次存储8个字节的数据,并将其写出直到EOF。 ... 我希望输出是这样的: (这三行在hexfile中重复) 但是这没有发生,在输出中,hexfile行仍然与输入文件中的行相同,并且在23行之后出现“分段错误”。 在hex文件中,此行重复1000次:FILE *hexfile;
char buffer[9];
char *p = &buffer[0];
fputs("Splitting file to 8 bytes\n", stdout);
while(1){
fgets(p, sizeof(buffer), hexfile);
printf("%s", p);
*p++;
if(feof(hexfile)){
fputs("File Reading ended\n", stdout);
fclose(hexfile);
break;
}
12345678
9abcdef1
1fedcba6
123456789abcdef11fedcba6