So bin ich nicht ganz sicher, wie man fread benutzt. Ich habe eine Binärdatei in Little-Endian, die ich in Big-Endian konvertieren muss, und ich weiß nicht, wie ich die Datei lesen soll. Hier ist, was ich bisher:Woher weiß fredet, wenn die Datei in C beendet ist?
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.
}
ich nichts anderes noch geschrieben haben, aber ich bin einfach nicht sicher, wie fread zu ‚Fortschritt‘ zu bekommen, so zu sprechen. Jede Hilfe wäre willkommen.
Vervollständigen Sie das Programm und führen Sie es aus! 'fread' liest von wo es das letzte Mal in der Schleife aufgehört hat. Sie sollten den Rückgabewert von 'fread' überprüfen. "Infile" ist wahrscheinlich nicht gleich "EOF". –
Der erste Schritt zum Fortschritt ist das Lesen der Dokumentation **. –
Zum einen bedeutet "rb" ** R ** ead ** B ** inary, also sollte Ihr Array vom Typ int, nicht char sein. – MarcusJ