operator<<,>>(std::filesystem::path)
来自cppreference.com
| (1) | (C++17 起) | |
| (2) | (C++17 起) | |
进行路径 p 上的流输入或输出。使用 std::quoted,使得之后从流输入运算符读取时空格不导致截断。
这些函数模板对常规的无限定或有限定查找不可见,而只能在 std::filesystem::path 为实参的关联类时由实参依赖查找找到。这在 using namespace std::filesystem; using 指令存在时阻止不想要的转换。
参数
| os | - | 要进行输出的流 |
| is | - | 要进行输入的流 |
| p | - | 要插入或提取的路径 |
返回值
1)
os2)
is异常
可能会抛出由实现定义的异常。
可能的实现
| operator<< |
|---|
|
| operator>> |
|
示例
运行此代码
#include <filesystem>
#include <iostream>
int main()
{
std::cout << std::filesystem::current_path() << '\n';
std::cout << std::filesystem::temp_directory_path() << '\n';
}
可能的输出:
"/home/user"
"/tmp"
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
| 缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
|---|---|---|---|
| LWG 2989 | C++17 | 允许在 using 指令存在时插入任何能转换到 path 的表达式
|
使之为隐藏的友元 |