我在嘗試將二進制文件轉換爲文本文件時出現問題。現在,我得到了「你好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
剛更新說明鏈接到二進制文件 –