我在尝试将二进制文件转换为文本文件时出现问题。现在,我得到了“你好16”的输出。我应该得到5行输出,其中第一行应该是“你好32”。我不确定我哪里出了问题,但我一直试图找出几个小时。 Link to Binary File将二进制文件转换为C中的文本文件
void BinaryToText(char *inputFile, char *outputFile) {
unsigned char str[256];
unsigned int num;
int fileLen;
FILE *finp;
FILE *fout;
finp = fopen(inputFile, "r");
fout = fopen(outputFile, "w");
fseek(finp, 0, SEEK_END);
fileLen = ftell(finp);
fseek(finp, 0, SEEK_SET);
while (fread(&fileLen, sizeof(char), 1, finp) == 1) {
fread(&str, sizeof(str), 1, finp);
fread(&num, sizeof(int), 1, finp);
fprintf(fout, "%s %d\n", str, num);
}
fclose(finp);
fclose(fout);
}
硬不格式的细节来回答二进制文件 – user3528438
刚更新说明链接到二进制文件 –