std::filesystem:: hard_link_count
|
Определено в заголовочном файле
<filesystem>
|
||
|
std::
uintmax_t
hard_link_count
(
const
std::
filesystem
::
path
&
p
)
;
|
(1) | (начиная с C++17) |
|
std::
uintmax_t
hard_link_count
(
const
std::
filesystem
::
path
&
p,
std:: error_code & ec ) noexcept ; |
(2) | (начиная с C++17) |
Возвращает количество жёстких ссылок для объекта файловой системы, идентифицируемого путём p .
Непорождающая исключений перегрузка возвращает static_cast < uintmax_t > ( - 1 ) при ошибках.
Содержание |
Параметры
| p | - | путь для проверки |
| ec | - | выходной параметр для сообщения об ошибках в непорождающей исключения перегрузке |
Возвращаемое значение
Количество жёстких ссылок для p .
Исключения
Любая перегрузка, не помеченная
noexcept
, может выбрасывать
std::bad_alloc
при неудачном выделении памяти.
Пример
#include <filesystem> #include <iostream> namespace fs = std::filesystem; int main() { // В файловой системе POSIX-стиля каждый каталог имеет как минимум 2 жёсткие ссылки: // себя и специальное имя пути "." fs::path p = fs::current_path(); std::cout << "Number of hard links for current path is " << fs::hard_link_count(p) << '\n'; // Каждый ".." является жёсткой ссылкой на родительский каталог, поэтому общее количество // жёстких ссылок для любого каталога равно 2 плюс количество прямых подкаталогов p = fs::current_path() / ".."; // Каждая точка-точка является жёсткой ссылкой на родительский каталог std::cout << "Number of hard links for .. is " << fs::hard_link_count(p) << '\n'; }
Возможный вывод:
Number of hard links for current path is 2 Number of hard links for .. is 3
Смотрите также
|
(C++17)
|
создает жесткую ссылку
(функция) |
|
возвращает количество жестких ссылок, указывающих на файл, на который ссылается запись каталога
(публичная функция-член
std::filesystem::directory_entry
)
|