c++ - Mingw 或 msvc 中的 std::filesystem::relative 错误?
问题描述
我截断了以下代码,它在 mingw(gcc) 和 msvc 上产生以下输出:
std::cout << std::filesystem::relative("D:/home/freddy", "C:/home") << std::endl;
明格(GCC):
"\\home\\freddy"
msvc:
""
gcc 和 clang(都在 linux 上执行):
"../../D:/home/freddy"
在我看来它应该是""
or "../../D:/home/freddy"
,因为在 root_paths 上没有相对路径,但没有擦除根路径的相对路径。
此外,当驱动器不存在时,MSVC 将失败,因为驱动器“尚未准备好”:
weakly_canonical: Das Gerõt ist nicht bereit.: "D:/home/freddy"
这也似乎是一个 MSVC 错误std::filesystem::weakly_canonical
解决方案
推荐阅读
- javascript - 在安全规则中验证 Firebase 数据库密钥中的电子邮件地址
- asp.net-core - 一个人如何从单例中消耗 Bugsnag?
- .net - 部署到 F5 环境时找不到 Web 服务抛出 404
- android - PainterSVG 无法加载 .svgz 文件,如何将其转换为 .svg 文件进行加载?
- excel - 从电子邮件格式 firstname.lastname@email.com 中提取名字和姓氏的 VBA 代码
- php - 在运行测试套件之前只初始化一次变量
- typescript - How to transform union type into union of arrays in typescript?
- r - Horizontally shifting rows based on a value in R
- node.js - Ng serve for angular application is not starting the server
- laravel - how can install vue js in laravel 8 without any error when setup Laravel 8 and Vue Js page vue template not displaying