std::filesystem:: exists
|
Definido en el encabezado
<filesystem>
|
||
|
bool
exists
(
std::
filesystem
::
file_status
s
)
noexcept
;
|
(1) | (desde C++17) |
|
bool
exists
(
const
std::
filesystem
::
path
&
p
)
;
|
(2) | (desde C++17) |
|
bool
exists
(
const
std::
filesystem
::
path
&
p,
std::
error_code
&
ec
)
noexcept
;
|
(3) | (desde C++17) |
Comprueba si el estado del archivo o la ruta proporcionada corresponde a un archivo o directorio existente.
Contenidos |
Parámetros
| s | - | estado del archivo a verificar |
| p | - | ruta a examinar |
| ec | - | parámetro de salida para reporte de errores en la sobrecarga no lanzadora |
Valor de retorno
true si la ruta o estado de archivo dado corresponde a un archivo o directorio existente, false en caso contrario.
Excepciones
Cualquier sobrecarga no marcada como
noexcept
puede lanzar
std::bad_alloc
si la asignación de memoria falla.
No se lanza una excepción del sistema de archivos si el objeto no existe (utilice el valor de retorno).
Notas
La información proporcionada por esta función normalmente también se ofrece como subproducto de la iteración de directorios. Durante la iteración de directorios, llamar exists ( * iterator ) es menos eficiente que exists ( iterator - > status ( ) ) .
Ejemplo
#include <cstdint> #include <filesystem> #include <fstream> #include <iostream> namespace fs = std::filesystem; void demo_exists(const fs::path& p, fs::file_status s = fs::file_status{}) { std::cout << p; if (fs::status_known(s) ? fs::exists(s) : fs::exists(p)) std::cout << " exists\n"; else std::cout << " does not exist\n"; } int main() { const fs::path sandbox{"sandbox"}; fs::create_directory(sandbox); std::ofstream{sandbox/"file"}; // create regular file fs::create_symlink("non-existing", sandbox/"symlink"); demo_exists(sandbox); for (const auto& entry : fs::directory_iterator(sandbox)) demo_exists(entry, entry.status()); // use cached status from directory entry fs::remove_all(sandbox); }
Salida:
"sandbox" exists "sandbox/symlink" does not exist "sandbox/file" exists
Véase también
|
(C++17)
(C++17)
|
determina los atributos del archivo
determina los atributos del archivo, verificando el destino del enlace simbólico (función) |
|
(C++17)
|
representa el tipo de archivo y permisos
(clase) |
|
verifica si la entrada de directorio hace referencia a un objeto del sistema de archivos existente
(función miembro pública de
std::filesystem::directory_entry
)
|