Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::filesystem::read_symlink

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

      If the pathp refers to a symbolic link, returns a new path object which refers to the target of that symbolic link.

      It is an error ifp does not refer to a symbolic link.

      The non-throwing overload returns an empty path on errors.

      Contents

      [edit]Parameters

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

      [edit]Return value

      The target of the symlink (which may not necessarily exist).

      [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(){for(fs::path p:{"/usr/bin/gcc","/bin/cat","/bin/mouse"}){std::cout<< p;        fs::exists(p)?            fs::is_symlink(p)?std::cout<<" -> "<< fs::read_symlink(p)<<'\n':std::cout<<" exists but it is not a symlink\n":std::cout<<" does not exist\n";}}

      Possible output:

      "/usr/bin/gcc" -> "gcc-5""/bin/cat" exists but it is not a symlink"/bin/mouse" does not exist

      [edit]See also

      (C++17)
      checks whether the argument refers to a symbolic link
      (function)[edit]
      creates a symbolic link
      (function)[edit]
      copies a symbolic link
      (function)[edit]
      (C++17)(C++17)
      determines file attributes
      determines file attributes, checking the symlink target
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/filesystem/read_symlink&oldid=157970"

      [8]ページ先頭

      ©2009-2025 Movatter.jp