Więc nie jestem do końca pewien, jak używać FDA. Mam plik binarny w little-endian, który muszę przekonwertować na big-endian i nie wiem, jak go odczytać. Oto co mam do tej pory:W jaki sposób fread wie, kiedy plik kończy się w 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.
}
nie mam nic innego nie napisałeś, ale ja po prostu nie wiem, jak dostać fread do „postępu”, że tak powiem. Każda pomoc będzie doceniona.
Uzupełnij program i uruchom go! 'fread' będzie czytać od miejsca, w którym zostało przerwane po raz ostatni w pętli. Powinieneś sprawdzić wartość zwracaną przez 'fread'. 'infile' nie jest porównywalne do' EOF'. –
Pierwszym krokiem do osiągnięcia postępu jest ** przeczytanie dokumentacji **. –
Po pierwsze, "rb" oznacza ** R ** ead ** B ** inary, więc twoja tablica powinna być typu int, a nie char. – MarcusJ