Heim >Backend-Entwicklung >C++ >Wie erhalte ich die Größe einer Datei in C: ein einfacher und zuverlässiger Ansatz?

Wie erhalte ich die Größe einer Datei in C: ein einfacher und zuverlässiger Ansatz?

Susan Sarandon
Susan SarandonOriginal
2024-11-11 12:58:03947Durchsuche

How to Get a File's Size in C  : A Simple and Reliable Approach?

Bestimmen der Dateigröße in C

Die Abfrage „Wie kann ich die Größe einer Datei in C ermitteln?“ regt zur Erkundung der gängigsten Methode zur Bewältigung dieser Aufgabe unter Einhaltung bestimmter Kriterien an.

Kriterien:

  • Plattformübergreifend portierbar (Unix, Mac, Windows)
  • Zuverlässig und genau
  • Leicht verständlich und ohne externe Bibliotheksabhängigkeiten

Gemeinsamer Ansatz:

Nutzung Aufgrund der nativen Datei-E/A-Funktionen von C umfasst ein gängiger Ansatz zur Bestimmung der Größe einer Datei die folgenden Schritte:

#include <fstream>

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

Erklärung:

  1. Fügen Sie den Bibliothek für Datei-E/A-Vorgänge.
  2. Definieren Sie eine Funktion „filesize“, die einen Dateinamen als Parameter akzeptiert und die Dateigröße als std::ifstream::pos_type zurückgibt.
  3. Erstellen Sie eine std: :ifstream-Objekt in und öffnen Sie die durch Dateiname angegebene Datei im „Binär“-Modus (std::ifstream::binary).
  4. Verwenden Sie den std::ifstream::ate-Modus, um den Dateizeiger am Ende von zu positionieren die Datei.
  5. Rufen Sie die aktuelle Dateizeigerposition mit in.tellg() ab, was die Dateigröße in Bytes zurückgibt.
  6. Gibt die Dateigröße zurück.

Zusätzliche Informationen:

Bitte beachten Sie, dass diese Lösung davon ausgeht, dass die Datei nicht in anderen Anwendungen geöffnet ist, was sich auf die Dateigröße auswirken kann. Weitere Einzelheiten zur Dateiverarbeitung in C finden Sie unter: http://www.cplusplus.com/doc/tutorial/files/.

Das obige ist der detaillierte Inhalt vonWie erhalte ich die Größe einer Datei in C: ein einfacher und zuverlässiger Ansatz?. 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