Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erhalte ich die Dateigröße mit C++?

Wie erhalte ich die Dateigröße mit C++?

WBOY
WBOYOriginal
2024-06-01 14:22:56523Durchsuche

Frage: Wie erhalte ich die Dateigröße in C++? Antwort: 1. Verwenden Sie die Memberfunktion std::ifstream::tellg(), um die Anzahl der seit dem Öffnen des Dateistreams gelesenen oder geschriebenen Bytes zu ermitteln. 2. Verwenden Sie std::filesystem::directory_iterator, um die Dateien im Verzeichnis zu durchlaufen. und Verwenden Sie std::ifstream::tellg(), um die Anzahl der Bytes in jeder Datei zu berechnen und diese zu addieren, um die Gesamtgröße zu erhalten.

Wie erhalte ich die Dateigröße mit C++?

Wie erhalte ich die Dateigröße in C++?

In C++ können Sie die Memberfunktion std::ifstream类来打开和读取文件。该类包含std::ifstream::tellg() verwenden, die die Anzahl der seit dem Öffnen des Dateistreams gelesenen oder geschriebenen Bytes zurückgibt. Dies kann verwendet werden, um die Größe der Datei zu ermitteln.

Codebeispiel:

#include <iostream>
#include <fstream>

int main() {
  // 打开文件
  std::ifstream file("myfile.txt");
  
  // 获取文件的大小
  file.seekg(0, std::ios::end);
  int file_size = file.tellg();
  
  // 打印文件大小
  std::cout << "The file size is: " << file_size << " bytes" << std::endl;
  
  file.close();
  return 0;
}

Praktischer Fall:

Das Folgende ist ein Beispiel für die Ermittlung der Gesamtgröße aller Dateien in einem bestimmten Verzeichnis:

#include <iostream>
#include <fstream>
#include <filesystem>

int main() {
  std::filesystem::path directory_path("my_directory");
  
  // 遍历目录中的文件
  int total_file_size = 0;
  for (const auto& entry : std::filesystem::directory_iterator(directory_path)) {
    if (entry.is_regular_file()) {
      // 打开文件
      std::ifstream file(entry.path());
      
      // 获取文件大小并累加到总和
      file.seekg(0, std::ios::end);
      total_file_size += file.tellg();
      
      file.close();
    }
  }
  
  // 打印总文件大小
  std::cout << "The total size of all files in the directory is: " << total_file_size << " bytes" << std::endl;
  return 0;
}

Das obige ist der detaillierte Inhalt vonWie erhalte ich die Dateigröße mit C++?. 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