Hallo pl,
Nun, die Länge einer Datei ist plattformunabhängig.
Die maximale Länge einer Datei ist stark abhängig vor der Plattform. Der maximal adressierbare Speicher ist sehr stark abhängig von der Plattform.
Und auch da ist ein Byte ein Byte und was size_t dazu sagt ist uninteressant solange die Binary von einem Nameserver kommt.
Ob du size_t
verwendest oder int
ist sehr wohl wichtig. Wenn dir eine Funktion size_t
zurück gibt, dann ist das plattformabhängig, wie der Wert interpretiert werden muss. Häufig ist es ein unsigned long
, wenn du den jetzt als int
interpretierst, dann hast du bei Werten jenseits von INT_MAX
Bullshit stehen (nämlich einen negativen Wert durch den Überlauf). Benutze konsequent size_t
, wo die Bibliotheken es zurückgeben oder erwarten! Du ersparst dir eine Menge Schmerzen.
LG,
CK