std::filesystem:: hard_link_count
|
Definido en el encabezado
<filesystem>
|
||
|
std::
uintmax_t
hard_link_count
(
const
std::
filesystem
::
path
&
p
)
;
|
(1) | (desde C++17) |
|
std::
uintmax_t
hard_link_count
(
const
std::
filesystem
::
path
&
p,
std:: error_code & ec ) noexcept ; |
(2) | (desde C++17) |
Devuelve el número de enlaces físicos para el objeto del sistema de archivos identificado por la ruta p .
La sobrecarga que no lanza excepciones retorna static_cast < uintmax_t > ( - 1 ) en caso de errores.
Contenidos |
Parámetros
| p | - | ruta a examinar |
| ec | - | parámetro de salida para reporte de errores en la sobrecarga no lanzadora |
Valor de retorno
El número de enlaces físicos para p .
Excepciones
Cualquier sobrecarga no marcada como
noexcept
puede lanzar
std::bad_alloc
si la asignación de memoria falla.
Ejemplo
#include <filesystem> #include <iostream> namespace fs = std::filesystem; int main() { // En un sistema de archivos estilo POSIX, cada directorio tiene al menos 2 enlaces físicos: // él mismo y el nombre de ruta especial "." fs::path p = fs::current_path(); std::cout << "Number of hard links for current path is " << fs::hard_link_count(p) << '\n'; // Cada ".." es un enlace físico al directorio padre, por lo 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 directorio padre std::cout << "Number of hard links for .. is " << fs::hard_link_count(p) << '\n'; }
Salida posible:
Number of hard links for current path is 2 Number of hard links for .. is 3
Véase también
|
(C++17)
|
crea un enlace físico
(función) |
|
devuelve el número de enlaces físicos que referencian al archivo al que se refiere la entrada de directorio
(función miembro pública de
std::filesystem::directory_entry
)
|