Wir hatten hier eine Diskussion darüber, warum fread und fwrite eine Größe pro Element annehmen und die Anzahl der gelesenen/geschriebenen Elemente zählen und zurückgeben, anstatt nur einen Puffer und eine Größe zu nehmen. Die einzige Verwendung dafür wäre, wenn Sie ein Array von Strukturen lesen/schreiben möchten, die nicht durch die Plattformausrichtung teilbar sind und daher gepolstert wurden, aber das kann nicht so üblich sein, um diese Wahl zu rechtfertigen im Design.Was ist der Grund dafür, dass fread/fwrite Größe und Argumente zählt?
Von FREAD (3):
Die Funktion fread() nmemb Elemente der Daten liest, lange jede Größe Bytes aus dem Strom, auf den Strom, so dass sie an der Stelle gegeben Speicherung von ptr.
Die Funktion fwrite() schreibt nmemb Elemente von Daten, die jeweils eine Größe Bytes lange, bis der Strom durch Strom zugespitzt, um sie von dem Ort gegeben durch PTR zu erhalten.
fred() und fwrite() geben die Anzahl der erfolgreich gelesenen oder geschriebenen Elemente zurück (d. H. Nicht die Anzahl der Zeichen). Wenn ein Fehler auftritt oder das Dateiende erreicht ist, ist der Rückgabewert eine kurze Elementanzahl (oder Null).
hey das ist eine gute Frage. Ich habe mich immer gefragt –
Bitte überprüfen Sie diesen Thread: http://StackOverflow.com/Questions/8589425/how-does-fread-really-work – Franken