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

FreeBSD Manual Pages

  
 
  

home | help
std::filesy...current_path(3) C++ Standard Libarystd::filesy...current_path(3)

NAME
       std::filesystem::current_path - std::filesystem::current_path

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

	  Returns or changes the current path.

	  1,2) Returns the absolute path of the	current	working	directory, ob-
       tained as if (in
	  native format) by POSIX getcwd. (2) returns path() if	error occurs.
	  3,4)	Changes	 the  current  working	directory to p,	as if by POSIX
       chdir.

Parameters
	  p  - path to change the current working directory to
	  ec - out-parameter for error reporting in the	non-throwing overloads

Return value
	  1,2) Returns the current working directory.
	  3,4) (none)

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 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.
	  3) 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.
	  4) 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
	  The  current working directory is the	directory, associated with the
       process,	that is
	  used as the starting location	in pathname  resolution	 for  relative
       paths.

	  The  current path as returned	by many	operating systems is a danger-
       ous global
	  variable. It may be changed unexpectedly by  third-party  or	system
       library functions,
	  or by	another	thread.

Example
       // Run this code

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

	int main()
	{
	    std::cout  << "Current path	is " <<	fs::current_path() << '\n'; //
       (1)
	    fs::current_path(fs::temp_directory_path()); // (3)
	    std::cout << "Current path is " << fs::current_path() << '\n';
	}

Possible output:
	Current	path is	"D:/local/ConsoleApplication1"
	Current	path is	"E:/Temp"

See also
	  temp_directory_path returns a	directory suitable for temporary files
	  (C++17)	      (function)

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

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

home | help