<experimental/filesystem>

Important

En este artículo se documenta la implementación histórica de MSVC prestadard de la especificación técnica del sistema de archivos que se proporcionó en el <experimental/filesystem> encabezado . No es la biblioteca de C++17std::filesystem. Esta experimental implementación se quitó a partir de la versión 14.51 de MSVC. Para obtener compatibilidad con el sistema de archivos actual, use el encabezado C++17 <filesystem> y el std::filesystem espacio de nombres .

Use esta documentación solo al mantener código anterior que incluya <experimental/filesystem> o use el std::experimental::filesystem espacio de nombres . Los vínculos de referencia de esta página permanecen dentro de esa API histórica a menos que se etiqueten explícitamente como documentación actual de C++17.

Antes de que C++17 admita el sistema de archivos estandarizado, MSVC envió una implementación predescriptida de la especificación técnica del sistema de archivos en el <experimental/filesystem> encabezado, en el std::experimental::filesystem espacio de nombres . Este artículo se conserva para referencia histórica. En su lugar, el nuevo código debe usar el encabezado C++17 <filesystem> .

Sintaxis

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

historial de versiones de Visual Studio

  • Cuando se publicó Visual Studio 2017, el encabezado de C++17 <filesystem> aún no estaba estandarizado. C++ en Visual Studio 2017 implementó la especificación técnica del sistema de archivos de prestandard en el <experimental/filesystem> encabezado .
  • Visual Studio versión 15.7 de 2017 y versiones posteriores agregaron compatibilidad con el nuevo estándar de C++17<filesystem>. Esta implementación de C++17 es una implementación completamente nueva, incompatible con la versión anterior std::experimental .
  • En Visual Studio versión 16.3 y posteriores de la versión 2019, incluida <filesystem> solo proporciona el nuevo std::filesystem, e incluye <experimental/filesystem> solo la implementación anteriorexperimental.
  • La experimental implementación se quitó a partir de la versión 14.51 de MSVC Build Tools, que se convirtió en el conjunto de herramientas predeterminado en Visual Studio versión 18.6 de MSVC.

Las clases

Name Description
directory_entry clase Describe un objeto devuelto por un directory_iterator objeto o recursive_directory_iterator y que contiene un pathobjeto .
directory_iterator clase Describe un iterador de entrada que se secuencia a través de los nombres de archivo en un directorio del sistema de archivos.
filesystem_error clase Clase base para las excepciones que se producen para notificar un error de sistema de bajo nivel.
path clase Define una clase que almacena un objeto de tipo String de plantilla que es adecuado para su uso como nombre de archivo.
recursive_directory_iterator clase Describe un iterador de entrada que se secuencia a través de los nombres de archivo en un directorio del sistema de archivos. El iterador también puede descender en subdirectorios.
file_status clase Ajusta un file_typeobjeto .

Estructuras

Name Description
space_info estructura Contiene información sobre un volumen.

Functions

Funciones <experimental/filesystem>

Operators

<experimental/filesystem> operadores

Enumerations

Name Description
copy_options Enumeración que se usa con copy_file y determina el comportamiento si ya existe un archivo de destino.
directory_options Enumeración que especifica opciones para iteradores de directorio.
file_type Enumeración para tipos de archivo.
perms Tipo de máscara de bits que se usa para transmitir permisos y opciones a los permisos.

Consulte también

Documentación actual <filesystem>