| Member functions | ||||
| Modifiers | ||||
| Observers | ||||
directory_entry::exists | ||||
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20) | ||||
| 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:
Note thatstatus() follows symlinks to their targets.
Contents |
| ec | - | out-parameter for error reporting in the non-throwing overload |
true if the referred-to filesystem object exists.
Any overload not markednoexcept may throwstd::bad_alloc if memory allocation fails.
#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
(C++17) | checks whether path refers to existing file system object (function)[edit] |