为什么std::experimental::filesystem::path不接受通配符,如*&引用;? #包括 #包括 #包括 命名空间fs=std::实验::文件系统; int main() { 路径p(“/usr/include/c++/../sys/*”; p=fs::规范(p); }
gcc 6.2.0编译正常,但运行时错误显示: 在抛出的实例后调用terminate 'std::experimental::filesystem::v1::uuCXX11::filesystem\u error'为什么std::experimental::filesystem::path不接受通配符,如*&引用;? #包括 #包括 #包括 命名空间fs=std::实验::文件系统; int main() { 路径p(“/usr/include/c++/../sys/*”; p=fs::规范(p); },c++,filesystems,standards,c++17,C++,Filesystems,Standards,C++17,gcc 6.2.0编译正常,但运行时错误显示: 在抛出的实例后调用terminate 'std::experimental::filesystem::v1::uuCXX11::filesystem\u error' what():文件系统错误:无法规范化:没有此类文件或 目录[/usr/include/c++/../sys/*][/data/svn/yaoxinliu]中止 为什么标准::实验::文件系统::路径不接受通配符,如*?根据 std::experimental::filesystem
what():文件系统错误:无法规范化:没有此类文件或 目录[/usr/include/c++/../sys/*][/data/svn/yaoxinliu]中止 为什么
标准::实验::文件系统::路径
不接受通配符,如*
?根据
std::experimental::filesystem::canonical
将路径p转换为规范绝对路径,即没有点、点-点元素或符号链接的绝对路径
由于std::experimental::filesystem::canonical还必须取消对路径中包含的符号链接的引用,因此它只能接受现有文件或目录的路径。根据
std::experimental::filesystem::canonical
将路径p转换为规范绝对路径,即没有点、点-点元素或符号链接的绝对路径
由于
std::experimental::filesystem::canonical
还必须取消对路径中包含的符号链接的引用,因此它只能接受现有文件或目录的路径。路径对应于单个文件是设计的基础,不是任意的文件集。路径对应于单个文件而不是任意的文件集是设计的基础。
#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);
}