Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::filesystem::hard_link_count

      From cppreference.com
      <cpp‎ |filesystem
       
       
      Filesystem library
      Classes
      Functions
      File types
       
      Defined in header<filesystem>
      std::uintmax_t hard_link_count(conststd::filesystem::path& p);
      (1)(since C++17)
      std::uintmax_t hard_link_count(conststd::filesystem::path& p,
                                     std::error_code& ec)noexcept;
      (2)(since C++17)

      Returns the number of hard links for the filesystem object identified by pathp.

      The non-throwing overload returnsstatic_cast<uintmax_t>(-1) on errors.

      Contents

      [edit]Parameters

      p - path to examine
      ec - out-parameter for error reporting in the non-throwing overload

      [edit]Return value

      The number of hard links forp.

      [edit]Exceptions

      Any overload not markednoexcept may throwstd::bad_alloc if memory allocation fails.

      1) Throwsstd::filesystem::filesystem_error on underlying OS API errors, constructed withp as the first path argument and the OS error code as the error code argument.
      2) Sets astd::error_code& parameter to the OS API error code if an OS API call fails, and executesec.clear() if no errors occur.

      [edit]Example

      Run this code
      #include <filesystem>#include <iostream>namespace fs= std::filesystem; int main(){// On a POSIX-style filesystem, each directory has at least 2 hard links:// itself and the special member pathname "."    fs::path p= fs::current_path();std::cout<<"Number of hard links for current path is "<< fs::hard_link_count(p)<<'\n'; // Each ".." is a hard link to the parent directory, so the total number// of hard links for any directory is 2 plus number of direct subdirectories    p= fs::current_path()/"..";// Each dot-dot is a hard link to parentstd::cout<<"Number of hard links for .. is "<< fs::hard_link_count(p)<<'\n';}

      Possible output:

      Number of hard links for current path is 2Number of hard links for .. is 3

      [edit]See also

      creates a hard link
      (function)[edit]
      returns the number of hard links referring to the file to which the directory entry refers
      (public member function ofstd::filesystem::directory_entry)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/filesystem/hard_link_count&oldid=158003"

      [8]ページ先頭

      ©2009-2025 Movatter.jp