std::filesystem::directory_entry::is_directory
bool is_directory() const;
bool is_directory( std::error_code& ec ) const noexcept;
|
(desde C++17) | |
Verifica si el objeto al que se apunta es un directorio. Efectivamente devuelve std::filesystem::is_directory(status()) o std::filesystem::is_directory(status(ec)), respectivamente.
Parámetros
| ec | - | El parámetro de salida para informe de errores en la sobrecarga que no lanza excepciones. |
Valor de retorno
true si el objeto del sistema de archivos al que se hace referencia es un directorio, false de lo contrario
Excepciones
La sobrecarga que no toma un parámetro std::error_code& lanza filesystem::filesystem_error en los errores de la API del sistema operativo subyacente, construido con p como el primer argumento de la ruta de acceso y el código de error del sistema operativo como el argumento del código de error. La sobrecarga que toma un parámetro std::error_code& lo establece en el código de error de la API del sistema operativo si una llamada a la API del sistema operativo falla, y ejecuta ec.clear() si no ocurren errores. Cualquier sobrecarga que no está marcada con noexcept puede lanzar std::bad_alloc si la asignación de memoria falla.
Ejemplo
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main()
{
fs::directory_entry d1(".");
fs::directory_entry d2("archivo.txt");
fs::directory_entry d3("nuevo_dir");
std::cout << std::boolalpha
<< ". d1 " << d1.is_directory() << '\n'
<< "archivo.txt d2 " << d2.is_directory() << '\n'
// falso porque no se ha creado
<< "nuevo_dir d3 " << d3.is_directory() << '\n';
fs::create_directory("nuevo_dir");
std::cout << "nuevo_dir d3 antes de la actualización " << d3.is_directory() << '\n';
d3.refresh();
std::cout << "nuevo_dir d3 después de la actualización " << d3.is_directory() << '\n';
}
Posible salida:
. d1 true
archivo.txt d2 false
nuevo_dir d3 false
nuevo_dir d3 antes de la actualización false
nuevo_dir d3 después de la actualización true
Véase también
(C++17) |
Verifica si la ruta de acceso dada se refiere a un directorio. (función) |