Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::filesystem::directory_entry::exists

      From cppreference.com
      <cpp‎ |filesystem‎ |directory entry
       
       
      Filesystem library
      Classes
      Functions
      File types
       
      std::filesystem::directory_entry
      Member functions
      Modifiers
      Observers
      directory_entry::exists
      Non-member functions
       
      bool exists()const;
      (1)(since C++17)
      bool exists(std::error_code& ec)constnoexcept;
      (2)(since C++17)

      Checks whether the pointed-to object exists. Effectively returns:

      1)std::filesystem::exists(status()),
      2)std::filesystem::exists(status(ec)).

      Note thatstatus() follows symlinks to their targets.

      Contents

      [edit]Parameters

      ec - out-parameter for error reporting in the non-throwing overload

      [edit]Return value

      true if the referred-to filesystem object exists.

      [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> int main(){for(autoconst str:{"/usr/bin/cat","/usr/bin/mouse","/usr/bin/python","/usr/bin/bison","/usr/bin/yacc","/usr/bin/c++",}){std::filesystem::directory_entry entry{str}; std::cout<<"directory entry "<< entry<<(entry.exists()?" exists\n":" does not exist\n");}}

      Possible output:

      // Output on a POSIX system:directory entry "/usr/bin/cat" existdirectory entry "/usr/bin/mouse" does not existdirectory entry "/usr/bin/python" existsdirectory entry "/usr/bin/bison" existsdirectory entry "/usr/bin/yacc" does not existdirectory entry "/usr/bin/c++" exists

      [edit]See also

      (C++17)
      checks whether path refers to existing file system object
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/filesystem/directory_entry/exists&oldid=158261"

      [8]ページ先頭

      ©2009-2025 Movatter.jp