所以我不完全確定如何使用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