std::experimental::filesystem:: current_path
From cppreference.net
<
cpp
|
experimental
|
fs
|
定义于头文件
<experimental/filesystem>
|
||
|
path current_path
(
)
;
|
(1) | (文件系统 TS) |
|
path current_path
(
error_code
&
ec
)
;
|
(2) | (文件系统 TS) |
|
void
current_path
(
const
path
&
p
)
;
|
(3) | (文件系统 TS) |
|
void
current_path
(
const
path
&
p, error_code
&
ec
)
;
|
(4) | (文件系统 TS) |
返回或更改当前路径。
目录 |
参数
| p | - | 要更改当前工作目录的路径 |
| ec | - | 非抛出重载中用于错误报告的输出参数 |
返回值
1,2)
返回当前工作目录。
3,4)
(无)
异常
1,2)
不接受
error_code
&
参数的重载在底层操作系统 API 出错时会抛出
filesystem_error
异常,该异常使用操作系统错误代码作为其错误码参数进行构造。若内存分配失败则可能抛出
std::
bad_alloc
。接受
error_code
&
参数的重载在操作系统 API 调用失败时将其设置为对应的 API 错误码,若无错误发生则执行
ec.
clear
(
)
。此重载具有
noexcept
规范:
noexcept
3,4)
不接受
error_code
&
参数的重载版本在底层操作系统 API 出错时会抛出
filesystem_error
异常,该异常以
p
作为第一参数、操作系统错误码作为错误码参数构造。若内存分配失败则可能抛出
std::
bad_alloc
。接受
error_code
&
参数的重载版本在操作系统 API 调用失败时将其设为对应的操作系统错误码,若无错误发生则执行
ec.
clear
(
)
。此重载版本具有
noexcept
规范:
noexcept
注释
当前工作目录是用于在相对路径解析中作为起始位置的目录。单个当前工作目录与整个进程相关联。
当前工作目录是程序的一个危险全局状态。各种文件输入/输出相关函数的行为都会受到当前路径值的影响。当前路径可能被程序的任何组件意外更改,包括各类外部库或其他线程。
参见
| 本节内容尚不完整 |