std::filesystem::hard_link_count
Definido en el archivo de encabezado <filesystem>
|
||
std::uintmax_t hard_link_count( const std::filesystem::path& p ); std::uintmax_t hard_link_count( const std::filesystem::path& p, |
(1) | (desde C++17) |
Devuelve el número de enlaces físicos para el objeto de sistema de archivo identificado por la ruta de acceso p
.
La sobrecarga que no lanza excepciones devuelve static_cast<uintmax_t>(-1) si hay errores.
Contenido |
[editar] Parámetros
p | - | La ruta de acceso a examinar. |
ec | - | El parámetro de salida para reportar errores en la sobrecarga que no lanza excepciones. |
[editar] Valor de retorno
El número de enlaces físicos para p
.
[editar] 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.
[editar] Ejemplo
#include <iostream> #include <filesystem> namespace fs = std::filesystem; int main() { // En un sistema de archivos estilo POSIX, cada directorio tiene al menos // dos enlaces físicos: él mismo y el miembro especial, // nombre de ruta de acceso "." fs::path p = fs::current_path(); std::cout << "El número de enlaces físicos para la ruta de acceso actual es " << fs::hard_link_count(p) << '\n'; // cada ".." es un enlace físico al directorio padre, así que el número total // de enlaces físicos para cualquier directorio es 2 más el número de // subdirectorios directos p = fs::current_path() / ".."; // cada punto-punto es un enlace físico al padre std::cout << "El número de enlaces físicos para .. es " << fs::hard_link_count(p) << '\n'; }
Posible salida:
El número de enlaces físicos para la ruta de acceso actual es 2 El número de enlaces físicos para .. es 3
[editar] Véase también
(C++17) |
Crea un enlace físico. (función) |
Devuelve el número de enlaces físicos que se refieren al archivo al que se refiere la entrada de directorio. (función miembro pública de std::filesystem::directory_entry )
|