<experimental/filesystem>

Important

Este artigo documenta a implementação histórica e pré-teste do MSVC da Especificação Técnica do Sistema de Arquivos que foi fornecida no <experimental/filesystem> cabeçalho. Não é a biblioteca C++17 std::filesystem . Essa experimental implementação foi removida a partir da versão 14.51 do MSVC. Para obter suporte atual do sistema de arquivos, use o cabeçalho C++17 <filesystem> e o std::filesystem namespace.

Use esta documentação somente ao manter o código mais antigo que inclui <experimental/filesystem> ou usa o std::experimental::filesystem namespace. Os links de referência nesta página permanecem dentro dessa API histórica, a menos que sejam explicitamente rotulados como documentação atual do C++17.

Antes do suporte ao sistema de arquivos padronizado do C++17, o MSVC enviava uma implementação pré-teste da Especificação Técnica do <experimental/filesystem> Sistema de Arquivos no cabeçalho, no std::experimental::filesystem namespace. Este artigo é mantido para referência histórica. Em vez disso, o novo código deve usar o cabeçalho C++17 <filesystem> .

Sintaxe

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

Visual Studio histórico de versões

  • Quando Visual Studio 2017 foi lançado, o cabeçalho C++17 <filesystem> ainda não estava padronizado. O C++ no Visual Studio 2017 implementou a especificação técnica do sistema de arquivos pré-teste no <experimental/filesystem> cabeçalho.
  • Visual Studio 2017 versão 15.7 e posterior adicionado suporte para o novo padrão C++17<filesystem>. Essa implementação do C++17 é uma implementação completamente nova, incompatível com a versão anterior std::experimental .
  • No Visual Studio 2019 versão 16.3 e posterior, incluindo <filesystem> fornece apenas o novo std::filesysteme a <experimental/filesystem> inclusão fornece apenas a implementação antigaexperimental.
  • A experimental implementação foi removida a partir das Ferramentas de Build do MSVC versão 14.51, que se tornou o conjunto de ferramentas padrão no Visual Studio versão 18.6 de 2026.

Aulas

Name Description
directory_entry classe Descreve um objeto que é retornado por um directory_iterator ou um recursive_directory_iterator e contém um path.
directory_iterator classe Descreve um iterador de entrada que sequencia os nomes de arquivo em um diretório do sistema de arquivos.
filesystem_error classe Uma classe base para exceções que são lançadas para relatar um erro de sistema de baixo nível.
path classe Define uma classe que armazena um objeto do tipo String de modelo que é adequado para uso como um nome de arquivo.
recursive_directory_iterator classe Descreve um iterador de entrada que sequencia os nomes de arquivo em um diretório do sistema de arquivos. O iterador também pode descer em subdiretórios.
file_status classe Encapsula um file_type.

Estruturas

Name Description
space_info estrutura Contém informações sobre um volume.

Functions

Funções <experimental/filesystem>

Operadores

<experimental/filesystem> operadores

Enumerations

Name Description
copy_options Uma enumeração que é usada copy_file e determina o comportamento se já existe um arquivo de destino.
directory_options Uma enumeração que especifica opções para iteradores de diretório.
file_type Uma enumeração para tipos de arquivo.
perms Um tipo de máscara de bits usado para transmitir permissões e opções para permissões.

Consulte também

Documentação atual <filesystem>