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);
       (since C++17)
	  path absolute(const std::filesystem::path& p,	std::error_code& ec);

	  Returns a path referencing the same file system location as  p,  for
       which
	  filesystem::is_absolute() is true. The 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
	  The overload that does not take a std::error_code& parameter throws
	  filesystem::filesystem_error	on  underlying	OS  API	 errors,  con-
       structed	with p as the
	  first	 path  argument	 and the OS error code as the error code argu-
       ment. The overload
	  taking a std::error_code& parameter sets it to the OS	API error code
       if an OS	API
	  call fails, and executes ec.clear() if no errors occur. Any overload
       not marked
	  noexcept may throw std::bad_alloc if memory allocation fails.

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 <iostream>
	#include <filesystem>
	namespace fs = std::filesystem;
	int main()
	{
	    std::filesystem::path p = "foo.c";
	    std::cout << "Current path is " << fs::current_path() << '\n';
	    std::cout << "Absolute path	for " << p << "	is "
		      << std::filesystem::absolute(p) << '\n';
	}

Possible output:
	Current	path is	"/tmp/1622355667.5363104"
	Absolute path for "foo.c" is "/tmp/1622355667.5363104/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		  2022.07.31	  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.0>

home | help