std::experimental::filesystem:: file_size
From cppreference.net
<
cpp
|
experimental
|
fs
|
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
Diesen Code ausführen
#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) |