Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::filesystem::absolute(3)  C++ Standard Libary std::filesystem::absolute(3)

NAME
       std::filesystem::absolute - std::filesystem::absolute

Synopsis
	  Defined in header <filesystem>
	  path	   absolute(	 const	   std::filesystem::path&     p	    );
       (1) (since C++17)
	  path absolute( const std::filesystem::path& p,  std::error_code&  ec
       (2) (since C++17)
	  );

	  Returns  a  path referencing the same	file system location as	p, for
       which
	  filesystem::path::is_absolute() is true.

	  2) This non-throwing overload	returns	default-constructed path if an
       error occurs.

Parameters
	  p  - path to convert to absolute form
	  ec - out-parameter for error reporting in the	non-throwing overload

Return value
	  Returns an absolute (although	not  necessarily  canonical)  pathname
       referencing the
	  same file as p.

Exceptions
	  Any  overload	not marked noexcept may	throw std::bad_alloc if	memory
       allocation
	  fails.

	  1) Throws std::filesystem::filesystem_error on underlying OS API er-
       rors, 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.

Notes
	  Implementations  are encouraged to not consider p not	existing to be
       an error.

	  For POSIX-based operating systems,  std::filesystem::absolute(p)  is
       equivalent to
	  std::filesystem::current_path()  /  p	except for when	p is the empty
       path.

	  For Windows, std::filesystem::absolute may be	implemented as a  call
       to
	  GetFullPathNameW.

Example
       // Run this code

	#include <filesystem>
	#include <iostream>
	namespace fs = std::filesystem;

	int main()
	{
	    std::filesystem::path p = "foo.c";
	    std::cout << "Current path is " << std::filesystem::current_path()
       << '\n';
	    std::cout  <<  "Absolute  path  for	 "  <<	p << " is " << fs::ab-
       solute(p) << '\n';
	}

Possible output:
	Current	path is	"/tmp/1666297965.0051296"
	Absolute path for "foo.c" is "/tmp/1666297965.0051296/foo.c"

See also
	  canonical	   composes a canonical	path
	  weakly_canonical (function)
	  (C++17)
	  relative	   composes a relative path
	  proximate	   (function)
	  (C++17)

http://cppreference.com		  2024.06.10	  std::filesystem::absolute(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::filesystem::absolute&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help