<experimental/filesystem>

Important

Cet article décrit l’implémentation MSVC historique et standard de la spécification technique du système de fichiers fournie dans l’en-tête <experimental/filesystem> . Ce n’est pas la bibliothèque C++17 std::filesystem . Cette experimental implémentation a été supprimée à partir de MSVC version 14.51. Pour la prise en charge actuelle du système de fichiers, utilisez l’en-tête C++17 <filesystem> et l’espace std::filesystem de noms.

Utilisez cette documentation uniquement lors de la maintenance d’un code plus ancien qui inclut <experimental/filesystem> ou utilise l’espace std::experimental::filesystem de noms. Les liens de référence de cette page restent dans cette API historique, sauf s’ils sont explicitement étiquetés comme documentation C++17 actuelle.

Avant la prise en charge du système de fichiers standardisé C++17, MSVC a fourni une implémentation pré standard de la spécification technique du système de fichiers dans l’en-tête <experimental/filesystem> , sous l’espace std::experimental::filesystem de noms. Cet article est conservé pour référence historique. Le nouveau code doit utiliser l’en-tête C++17 <filesystem> à la place.

Syntax

#include <experimental/filesystem> // Removed starting in MSVC version 14.51
using namespace std::experimental::filesystem::v1;

historique des versions de Visual Studio

  • Lorsque Visual Studio 2017 a été publié, l'en-tête C++17 <filesystem> n'a pas encore été normalisé. C++ dans Visual Studio 2017 a implémenté la spécification technique du système de fichiers préstandard dans l’en-tête<experimental/filesystem>.
  • Visual Studio 2017 version 15.7 et ultérieures a ajouté la prise en charge de la nouvelle norme C++17<filesystem>. Cette implémentation C++17 est une implémentation complètement nouvelle, incompatible avec la version précédente std::experimental .
  • Dans Visual Studio 2019 version 16.3 et ultérieures, y compris <filesystem> les nouveautésstd::filesystem, et inclut <experimental/filesystem> uniquement l’ancienne experimental implémentation.
  • L’implémentation experimental a été supprimée à partir de MSVC Build Tools version 14.51, qui est devenu l’ensemble d’outils par défaut dans Visual Studio 2026 version 18.6.

Cours

Name Description
class directory_entry Décrit un objet retourné par un directory_iterator ou un recursive_directory_iterator et contient un path.
class directory_iterator Décrit un itérateur d’entrée qui séquence les noms de fichiers dans un répertoire de système de fichiers.
class filesystem_error Classe de base pour les exceptions levées pour signaler une erreur système de bas niveau.
class path Définit une classe qui stocke un objet de type de modèle String adapté à une utilisation comme nom de fichier.
class recursive_directory_iterator Décrit un itérateur d’entrée qui séquence les noms de fichiers dans un répertoire de système de fichiers. L’itérateur peut également descendre dans les sous-répertoires.
class file_status Encapsule un file_type.

Structures

Name Description
space_info structure Contient des informations sur un volume.

Functions

<experimental/filesystem>, fonctions

Operators

<experimental/filesystem> opérateurs

Enumerations

Name Description
copy_options Énumération utilisée avec copy_file et détermine le comportement si un fichier de destination existe déjà.
directory_options Énumération qui spécifie des options pour les itérateurs de répertoire.
file_type Énumération pour les types de fichiers.
perms Type de masque de bits utilisé pour transmettre des autorisations et des options aux autorisations.

Voir aussi

Documentation actuelle <filesystem>