Supportnet / Forum / Anwendungen(Java,C++...)
C-Programm: SIZEOF-Returnwert
Frage
Hallo,
bei einem C-Programm benutze ich für einen fwrite den SIZEOF-Parameter für eine STruktur mit einer festen Satzlänge von 646. Der SIZEOF-Parameter liefert mir jedoch den Wert 648. Die Satzlänge ist mehrfach bestätigt und kontrolliert.
So sieht mein fwrite aus:
if (fwrite (PtrSuver, sizeof(struct StSuver), 1, FptSuver) == (size_t) 0 )
Kann es ein Ausrichtungsproblem sein? Oder woran kann es liegen ?
Vielen Dank für Eure/Ihre Hilfe
Lars Jürgensen
Antwort 1 von Josch
Hallo Lars,
wenn du deinen filepointer mit dem mode "text" erzeugt hast und in deiner struktur ein carriage-return enthalten ist, ersetzt fwrite(...) diesen durch carriage-return – linefeed und das sind zwei zeichen. der rückgabewert von fwrite(...) wird aber nicht verändert d.h carriage-return – linefeed wird als ein zeichen gezählt
adios
josch

