定义于头文件
<filesystem>
|
||
path current_path();
|
(1) | (C++17 起) |
path current_path( std::error_code& ec );
|
(2) | (C++17 起) |
void current_path( const std::filesystem::path& p );
|
(3) | (C++17 起) |
void current_path( const std::filesystem::path& p, std::error_code& ec );
|
(4) | (C++17 起) |
返回或更改当前路径。
目录 |
p | - | 更改当前工作目录所到的路径 |
ec | - | 不抛出重载中报告错误的输出参数 |
p
和作为错误码参数的 OS 错误码构造。若内存分配失败则可能抛出 std::bad_alloc 。若 OS API 调用失败,则接受 std::error_code& 参数的重载设置该参数为 OS API 错误码,而若不出现错误则执行 ec.clear() 。当前工作目录是用作相对路径的路径解析中起始位置的目录。单个当前工作目录关联于整个进程。
当前工作目录是危险的程序全局状态。许多文件输入/输出所关联的函数的行为受当前路径的值影响。当前路径可能被程序的任何组件不期待地更改,包括各种外部库或其他线程。
#include <iostream> #include <filesystem> namespace fs = std::filesystem; int main() { std::cout << "Current path is " << fs::current_path() << '\n'; }
可能的输出:
Current path is "D:/local/ConsoleApplication1"