Ich muss die Byte-Größe einer Datei bestimmen.
Die Programmiersprache ist C ++ und der Code sollte mit Linux, Windows und jedem anderen Betriebssystem funktionieren. Dies impliziert die Verwendung von Standard-C- oder C ++ - Funktionen / Klassen.
Dieses triviale Bedürfnis hat scheinbar keine triviale Lösung.
Wenn Sie nur die Dateigröße benötigen, ist dies sicherlich zu viel Aufwand, aber im Allgemeinen würde ich mit Boost.Filesystem für plattformunabhängige Dateioperationen. Neben anderen Attributfunktionen enthält es
%Vor%Sie können die Referenz hier finden. Obwohl Boost Libraries magisch wirken, habe ich es oft sehr effizient umgesetzt. Sie könnten auch nur die Funktion extrahieren, die Sie benötigen, aber dies könnte sich als schwierig erweisen, da Boost ziemlich komplex ist.
Oft möchten wir Dinge auf die tragbarste Art und Weise erledigen, aber in bestimmten Situationen, besonders in diesem Fall, würde ich dringend die Verwendung von System-APIs für die beste Leistung empfehlen.
Tags und Links c c++ filesize platform-independent portability