所以我不完全确定如何使用fread。我有一个小端的二进制文件,我需要转换成big-endian,而且我不知道如何读取文件。以下是我迄今为止:fread如何知道C文件何时结束?
FILE *in_file=fopen(filename, "rb");
char buffer[4];
while(in_file!=EOF){
fread(buffer, 4, 1, in_file);
//convert to big-endian.
//write to output file.
}
我没有写任何东西,但我只是不知道如何让FREAD以“进步”,可以这么说。任何帮助,将不胜感激。
完成程序并运行它! 'fread'将从最后一次循环中的位置读取。你应该检查'fread'的返回值。 'infile'不可能与'EOF'相比较。 –
取得进展的第一步是**阅读文件**。 –
首先,“rb”表示** R ** ead ** B ** inary,所以您的数组应该是int类型的,而不是char。 – MarcusJ