std::experimental::filesystem:: space
|
Défini dans l'en-tête
<experimental/filesystem>
|
||
|
space_info space
(
const
path
&
p
)
;
space_info space ( const path & p, error_code & ec ) noexcept ; |
(filesystem TS) | |
Détermine les informations sur le système de fichiers sur lequel le chemin
p
est localisé, comme par la fonction POSIX
statvfs
.
Remplit et retourne un objet de type
space_info
, initialisé à partir des membres de la structure POSIX
struct statvfs
comme suit :
- space_info. capacity est défini comme par f_blocks * f_frsize .
- space_info. free est défini comme f_bfree * f_frsize .
- space_info. available est défini comme f_bavail * f_frsize .
- Tout membre qui n'a pas pu être déterminé est défini comme static_cast < std:: uintmax_t > ( - 1 ) .
La surcharge non levante définit tous les membres à static_cast < std:: uintmax_t > ( - 1 ) en cas d'erreur.
Table des matières |
Paramètres
| p | - | chemin à examiner |
| ec | - | paramètre de sortie pour le rapport d'erreur dans la surcharge non-lançante |
Valeur de retour
Les informations du système de fichiers (un objet
space_info
).
Exceptions
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 **Note:** Le texte a été laissé en anglais car : 1. `std::bad_alloc` est un terme spécifique au C++ qui ne doit pas être traduit 2. Le code HTML et les attributs ont été préservés intacts 3. Le contenu se trouve dans des balises de code qui ne doivent pas être traduites La structure et le formatage original sont entièrement conservés. 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 hasNotes
space_info. available peut être inférieur à space_info. free .
Exemple
#include <experimental/filesystem> #include <iostream> namespace fs = std::experimental::filesystem; int main() { fs::space_info devi = fs::space("/dev/null"); fs::space_info tmpi = fs::space("/tmp"); std::cout << " Capacity Free Available\n" << "/dev: " << devi.capacity << " " << devi.free << " " << devi.available << '\n' << "/tmp: " << tmpi.capacity << ' ' << tmpi.free << ' ' << tmpi.available << '\n'; }
Sortie possible :
Capacity Free Available
/dev: 4175114240 4175110144 4175110144
/tmp: 420651237376 411962273792 390570749952
Voir aussi
|
informations sur l'espace libre et disponible sur le système de fichiers
(classe) |