Namespaces
Variants

std::experimental::filesystem:: file_size

From cppreference.net
Definiert in Header <experimental/filesystem>
std:: uintmax_t file_size ( const path & p ) ;
std:: uintmax_t file_size ( const path & p, error_code & ec ) ;
(1) (filesystem TS)

Gibt die Größe der regulären Datei p zurück, ermittelt wie durch Auslesen des st_size -Members der Struktur, die durch POSIX stat erhalten wird (Symlinks werden verfolgt).

Der Versuch, die Größe eines Verzeichnisses (sowie jeder anderen Datei, die keine reguläre Datei oder ein Symlink ist) zu bestimmen, wird als Fehler behandelt.

Die nicht-werfende Überladung gibt bei Fehlern - 1 zurück.

Inhaltsverzeichnis

Parameter

p - zu untersuchender Pfad
ec - Out-Parameter für Fehlerberichterstattung in der nicht-werfenden Überladung

Rückgabewert

Die Größe der Datei in Bytes.

Ausnahmen

The overload that does not take an error_code & parameter throws filesystem_error on underlying OS API errors, constructed with p as the first argument and the OS error code as the error code argument. std:: bad_alloc may be thrown if memory allocation fails. The overload taking an error_code & parameter sets it to the OS API error code if an OS API call fails, and executes ec. clear ( ) if no errors occur. This overload has
noexcept Spezifikation:
noexcept

Beispiel

#include <experimental/filesystem>
#include <fstream>
#include <iostream>
namespace fs = std::experimental::filesystem;
int main()
{
    fs::path p = fs::current_path() / "example.bin";
    std::ofstream(p).put('a'); // create file of size 1
    std::cout << "File size = " << fs::file_size(p) << '\n';
    fs::remove(p);
    try
    {
        fs::file_size("/dev"); // attempt to get size of a directory
    }
    catch (fs::filesystem_error& e)
    {
        std::cout << e.what() << '\n';
    }        
}

Mögliche Ausgabe:

File size = 1
filesystem error: cannot get file size: Is a directory [/dev]

Siehe auch

ändert die Größe einer regulären Datei durch Kürzung oder Auffüllung mit Nullen
(Funktion)
bestimmt den verfügbaren freien Speicherplatz im Dateisystem
(Funktion)