path current_path();
path current_path(error_code& ec);
Returns: The absolute path of the current working directory, obtained as if by POSIX getcwd(). The signature with argument ec returns path() if an error occurs.
Throws: As specified in [fs.err.report].
Remarks: The current working directory is the directory, associated with the process, that is used as the starting location in pathname resolution for relative paths.
[ Note: The current_path() name was chosen to emphasize that the returned value is a path, not just a single directory name.
The current path as returned by many operating systems is a dangerous global variable. It may be changed unexpectedly by a third-party or system library functions, or by another thread. — end note ]
void current_path(const path& p);
void current_path(const path& p, error_code& ec) noexcept;
Effects: Establishes the postcondition, as if by POSIX chdir().
Postconditions: equivalent(p, current_path()).
Throws: As specified in [fs.err.report].
[ Note: The current path for many operating systems is a dangerous global state. It may be changed unexpectedly by a third-party or system library functions, or by another thread. — end note ]