std::filesystem:: read_symlink
From cppreference.net
<
cpp
|
filesystem
|
定义于头文件
<filesystem>
|
||
|
std::
filesystem
::
path
read_symlink
(
const
std::
filesystem
::
path
&
p
)
;
|
(1) | (C++17 起) |
|
std::
filesystem
::
path
read_symlink
(
const
std::
filesystem
::
path
&
p,
std:: error_code & ec ) ; |
(2) | (C++17 起) |
如果路径 p 指向符号链接,则返回引用该符号链接目标的新路径对象。
如果 p 未指向符号链接,则属于错误。
非抛出重载在出错时返回空路径。
目录 |
参数
| p | - | 符号链接的路径 |
| ec | - | 非抛出重载中用于错误报告的输出参数 |
返回值
符号链接的目标(该目标不一定实际存在)。
异常
任何未标记为
noexcept
的重载在内存分配失败时可能抛出
std::bad_alloc
。
示例
运行此代码
#include <filesystem> #include <iostream> namespace fs = std::filesystem; int main() { for (fs::path p : {"/usr/bin/gcc", "/bin/cat", "/bin/mouse"}) { std::cout << p; fs::exists(p) ? fs::is_symlink(p) ? std::cout << " -> " << fs::read_symlink(p) << '\n' : std::cout << " exists but it is not a symlink\n" : std::cout << " does not exist\n"; } }
可能的输出:
"/usr/bin/gcc" -> "gcc-5" "/bin/cat" exists but it is not a symlink "/bin/mouse" does not exist
参见
|
(C++17)
|
检查参数是否指向符号链接
(函数) |
|
(C++17)
(C++17)
|
创建符号链接
(函数) |
|
(C++17)
|
复制符号链接
(函数) |
|
(C++17)
(C++17)
|
确定文件属性
确定文件属性,检查符号链接目标 (函数) |