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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::experimental::filesystem::current_path	-      std::experimen-
       tal::filesystem::current_path

Synopsis
	  Defined in header <experimental/filesystem>
	  path current_path();				      (1)  (filesystem
       TS)
	  path	current_path( error_code& ec );		       (2) (filesystem
       TS)
	  void current_path( const path& p );		      (3)  (filesystem
       TS)
	  void	current_path( const path& p, error_code& ec ); (4) (filesystem
       TS)

	  Returns or changes the current path.

	  1,2) Returns the absolute path of the	current	working	directory, ob-
       tained as if 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
	  1,2) The overload that does not take an error_code& parameter	throws
	  filesystem_error  on	underlying OS API errors, constructed with the
       OS error	code as
	  the error code argument. std::bad_alloc may be thrown	if memory  al-
       location	fails.
	  The  overload	 taking	an 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.  This
       overload	has
	  noexcept specification:
	  noexcept

	  3,4) The overload that does not take an error_code& parameter	throws
	  filesystem_error  on underlying OS API errors, constructed with p as
       the first
	  argument  and	 the  OS  error	 code  as  the	error  code  argument.
       std::bad_alloc may be
	  thrown  if  memory  allocation  fails.  The  overload	 taking	an er-
       ror_code& parameter sets
	  it to	the OS API error code if an OS API call	 fails,	 and  executes
       ec.clear() if no
	  errors occur.	This overload has
	  noexcept specification:
	  noexcept

Notes
	  The  current	working	directory is the directory that	is used	as the
       starting	location
	  in path resolution for relative paths. Single	current	working	direc-
       tory is
	  associated with entire process.

	  The current working directory	is a dangerous	global	state  of  the
       program.	Behavior
	  of  various  file input/output related functions are affected	by the
       value of	the
	  current path.	The current path may be	unexpectedly  changed  by  any
       component of the
	  program, including various external libraries	or other threads.

See also
	   This	section	is incomplete

Categories:
	    * Noindexed	pages
	    * unconditionally noexcept
	    * Todo without reason

Hidden categories:
	    * Pages with unreviewed unconditional noexcept template
	    * Pages with unreviewed noexcept template

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

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

home | help