Namespaces
Variants

std::experimental::filesystem:: space

From cppreference.net
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 has
noexcept spécification :
noexcept

Notes

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)