home | help
std::filesy...try::exists(3)   C++ Standard Libary  std::filesy...try::exists(3)

NAME
     std::filesystem::directory_entry::exists  -  std::filesystem::directory_en-
     try::exists

Synopsis
	bool exists() const;				   (1) (since C++17)
	bool exists( std::error_code& ec ) const noexcept; (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 that status() follows symlinks to their targets.

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

Return value
	true if the referred-to filesystem object exists.

Exceptions
	Any overload not marked noexcept may throw std::bad_alloc if memory  al-
     location
	fails.

	1) Throws std::filesystem::filesystem_error on underlying OS API errors,
     constructed
	with  p  as  the  first path argument and the OS error code as the error
     code argument.
	2) Sets a std::error_code& parameter to the OS API error code if  an  OS
     API call
	fails, and executes ec.clear() if no errors occur.

Example
     // Run this code

      #include <filesystem>
      #include <iostream>

      int main()
      {
	  for (auto const 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" exist
      directory entry "/usr/bin/mouse" does not exist
      directory entry "/usr/bin/python" exists
      directory entry "/usr/bin/bison" exists
      directory entry "/usr/bin/yacc" does not exist
      directory entry "/usr/bin/c++" exists

See also
	exists	checks whether path refers to existing file system object
	(C++17) (function)

http://cppreference.com 	   2024.06.10	    std::filesy...try::exists(3)

home | help