如何从std :: filesystem ::路径中删除引号
How to remove quotation marks from std::filesystem::path
如果我使用诸如absolute()
之类的函数,我总是会得到一个包含引号的路径。
文件系统函数中是否有一种方法可以删除此引号标记,从而使其能够与例如一起使用。std :: ifstream?
fs::path p2 { "./test/hallo.txt" };
std::cout << "absolte to file : " << fs::absolute(p2) << std::endl;
返回:
"/home/bla/blub/./test/hallo.txt"
我需要
/home/bla/blub/./test/hallo.txt
而不是。
手动执行它是没有问题的,但是我想询问文件系统lib内部是否有一种方法。
std::operator << (std::filesystem::path const &)
指定如下:
在路径p上执行流输入或输出。使用
std::quoted
,以便稍后通过流输入操作员读取空间不会引起截断。
因此,流动路径时的预期行为是预期的。您需要的是path::string()
:
以本机路径名格式返回内部路径名,转换为特定的字符串类型。
std::cout << "absolte to file : " << absolute(p2).string() << std::endl;
// ^^^^^^^^^
我还删除了fs::
,因为可以通过ADL找到absolute
。
相关文章:
- 将数组的地址分配给变量并删除
- 如何删除所有子路径?
- 如何自动获取我的项目的路径并删除一些文件
- 如何从 CLion 的运行窗口中删除程序项目路径
- 如何在g++中从链接库中删除路径
- 无法删除 c++ 中具有完整路径的文件
- 如何从std :: filesystem ::路径中删除引号
- PySide 2的Shiboken2删除了原始头文件的路径
- 尝试使用窗口注册表中的路径和 DeleteFile() 方法删除.exe文件
- 如何从 qmake 中的包含路径中删除项目的根目录
- 在 cpp 中验证路径:无法使用 ASCII 代码删除特殊字符
- 如何删除"..使用 Visual Studio 2012 类的文件路径中的 /' 令牌<filesystem>?
- 获取路径删除和串联字符
- 尝试从__FILE__中删除项目路径
- 如何删除回收站中路径过长的文件夹或文件
- C ++如何从路径字符串中删除文件名
- 从Makefile中的c可执行文件中删除硬编码的路径
- 从用户提供的路径中删除前导"../"
- 通过删除点链接和重复斜杠来规范Unix文件路径
- MinGW GCC.exe正在从路径中删除所有