<experimental/filesystem>

Importante

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

Use esta documentação apenas ao manter código mais antigo que inclua <experimental/filesystem> ou utilize o std::experimental::filesystem namespace. Os links de referência nesta página mantêm-se dentro dessa API histórica, a menos que estejam explicitamente identificados como documentação C++17 atual.

Antes do C++17 padronizar o suporte ao sistema de ficheiros, o MSVC incluía uma implementação pré-padrão da Especificação Técnica do Sistema de Ficheiros no <experimental/filesystem> cabeçalho, sob o std::experimental::filesystem namespace. Este artigo é mantido para referência histórica. O novo código deve usar o cabeçalho C++17 <filesystem> em vez disso.

Sintaxe

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

Histórico de versões do Visual Studio

  • Quando o 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 Ficheiros pré-padrão no <experimental/filesystem> cabeçalho.
  • Visual Studio 2017 versão 15.7 e posteriormente adicionaram suporte para o novo padrão C++17<filesystem>. Esta implementação em C++17 é completamente nova, incompatível com a versão anterior std::experimental .
  • No Visual Studio 2019 versão 16.3 e posteriores, including <filesystem> fornece apenas o novo std::filesystem, e including <experimental/filesystem> fornece apenas a implementação antigaexperimental.
  • A experimental implementação foi removida a partir da versão 14.51 do MSVC Build Tools, que se tornou o conjunto de ferramentas padrão no Visual Studio 2026 versão 18.6.

Aulas

Name Descrição
directory_entry Classe Descreve um objeto que é devolvido por a directory_iterator ou a recursive_directory_iterator e contém um path.
directory_iterator Classe Descreve um iterador de entrada que sequencia os nomes dos ficheiros num diretório do sistema de ficheiros.
filesystem_error Classe Uma classe base para exceções que são lançadas para reportar um erro de sistema de baixo nível.
path Classe Define uma classe que armazena um objeto do tipo String template adequado para uso como nome de ficheiro.
recursive_directory_iterator Classe Descreve um iterador de entrada que sequencia os nomes dos ficheiros num diretório do sistema de ficheiros. O iterador também pode descer para subdiretórios.
file_status Classe Envolve um file_type.

Estruturas

Name Descrição
space_info Estrutura Contém informação sobre um volume.

Funções

<experimental/filesystem> funções

Operators

<experimental/filesystem> Operadores

Enumerations

Name Descrição
copy_options Uma enumeração que é usada com copy_file e determina o comportamento se já existir um ficheiro de destino.
directory_options Uma enumeração que especifica opções para iteradores de diretórios.
file_type Uma enumeração para tipos de ficheiros.
perms Um tipo de máscara de bits usado para transmitir permissões e opções a permissões.

Ver também

Documentação atual <filesystem>