Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich die Dateigröße in C mit minimalen Abhängigkeiten bestimmen?

Wie kann ich die Dateigröße in C mit minimalen Abhängigkeiten bestimmen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-23 00:51:12529Durchsuche

How Can I Determine File Size in C   With Minimal Dependencies?

Bestimmen der Dateigröße in C mit minimalen Abhängigkeiten

Das Abrufen der Dateigröße ist eine häufige Anforderung in verschiedenen Programmierszenarien. In C können zahlreiche Methoden eingesetzt werden, um dies zu erreichen. In diesem Artikel wird ein portabler und zuverlässiger Ansatz beschrieben, der externe Bibliotheksabhängigkeiten minimiert.

Eine der einfachsten Methoden zur Bestimmung der Dateigröße ist die Verwendung der Klasse std::ifstream. Dieser Ansatz erfordert keine zusätzlichen Bibliotheken und wird auf Plattformen wie Unix, Mac und Windows weitgehend unterstützt.

#include <fstream>

std::ifstream::pos_type file_size(const char* filename) {
    std::ifstream in(filename, std::ifstream::ate | std::ifstream::binary);
    return in.tellg();
}

In diesem Code gibt das ate-Flag an, dass der Dateistream am Ende von beginnen soll die Datei. Das Binärflag stellt sicher, dass die Datei im Binärmodus geöffnet wird, was für die genaue Bestimmung der Dateigröße auf allen Plattformen unerlässlich ist.

Die Funktion tellg() gibt die aktuelle Position des Dateizeigers zurück, die dem entspricht Dateigröße. Beachten Sie jedoch, dass dieser Ansatz möglicherweise nicht immer zuverlässig ist, da die Funktion tellg() unter bestimmten Umständen falsche Werte zurückgeben kann. Daher können in manchen Fällen alternative Methoden erforderlich sein.

Das obige ist der detaillierte Inhalt vonWie kann ich die Dateigröße in C mit minimalen Abhängigkeiten bestimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn