我有
const char *pathname = "..\somepath\somemorepath\somefile.ext";
如何将其转换为
"..\somepath\somemorepath"
?
原文由 Mat 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有
const char *pathname = "..\somepath\somemorepath\somefile.ext";
如何将其转换为
"..\somepath\somemorepath"
?
原文由 Mat 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设您可以访问 c++17,它应该是这样的:
std::filesystem::path fullpath(path_string);
fullpath.remove_filename();
cout << fullpath.string();
如果你没有 c++17,但可以访问 boost,你可以用 boost::filesystem::path 做同样的事情。
使用这些库之一具有与多个操作系统兼容的优点。
原文由 John Bowers 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
最简单的方法是使用
find_last_of
成员函数std::string
此解决方案适用于正斜杠和反斜杠。