为什么 std::experimental::filesystem::p ath 不接受像 "*" 这样的通配符?
Why does std::experimental::filesystem::path not accept wildcards like "*"?
#include <string>
#include <iostream>
#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
int main()
{
fs::path p("/usr/include/c++/../sys/*");
p = fs::canonical(p);
}
gcc 6.2.0 编译正常,但运行时错误显示:
在抛出 的实例后终止调用 'std::experimental::filesystem::v1::__cxx11::filesystem_error"
what():文件系统错误:无法规范化:没有这样的文件或 目录 [/usr/include/c++/../sys/*] [/data/svn/yaoxinliu] 已中止
为什么std::experimental::filesystem::path
不接受像*
这样的通配符?
根据文档
std::experimental::filesystem::canonical
将路径 p 转换为规范的绝对路径,即没有点、点-点元素或符号链接的绝对路径。
由于std::experimental::filesystem::canonical
还必须取消引用路径中包含的符号链接,因此它只能接受现有文件或目录的路径。
相关文章:
- 表示"accepting anything for this template argument" C++概念的通配符
- 当使用通配符和null指针调用函数时,对输出的说明
- C++17 文件系统::remove_all 带有通配符路径
- 如何允许通配符模板参数
- 使用通配符的跨平台文件列表
- 如何检索由带通配符的字符串索引的对象
- 有效地查找通配符条目
- 具有不同输入和输出名称的生成文件通配符
- MinGW GCC通配符编译所有文件(Windows)
- Windows 上带有通配符的目录中的文件
- 查找第一个文件W通配符匹配
- 在某些情况下,通配符模式匹配失败
- 实现通配符后没有输入文件错误
- 如何为文件对话框过滤器设置通配符
- 使用通配符搜索QTableWidget时出现问题
- 为什么 std::experimental::filesystem::p ath 不接受像 "*" 这样的通配符?
- 在三元搜索树中搜索(NOT with)通配符
- SQLite如何在列上使用LIKE并添加通配符
- 带有通配符的 ifstream
- “使”找不到具有通配符模式的目标