我有一个文件名( C:\folder\foo.txt
),我需要在 C++ 中检索文件夹名称( C:\folder
)。在 C# 中,我会做这样的事情:
string folder = new FileInfo("C:\folder\foo.txt").DirectoryName;
是否有可以在 C++ 中用于从文件名中提取路径的函数?
原文由 Jon Tackabury 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个文件名( C:\folder\foo.txt
),我需要在 C++ 中检索文件夹名称( C:\folder
)。在 C# 中,我会做这样的事情:
string folder = new FileInfo("C:\folder\foo.txt").DirectoryName;
是否有可以在 C++ 中用于从文件名中提取路径的函数?
原文由 Jon Tackabury 发布,翻译遵循 CC BY-SA 4.0 许可协议
auto p = boost::filesystem::path("test/folder/file.txt");
std::cout << p.parent_path() << '\n'; // test/folder
std::cout << p.parent_path().filename() << '\n'; // folder
std::cout << p.filename() << '\n'; // file.txt
您可能需要 p.parent_path().filename()
来获取父文件夹的名称。
原文由 srbcheema1 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.5k 阅读
3 回答483 阅读✓ 已解决
有一个标准的 Windows 函数 PathRemoveFileSpec 。如果您只支持 Windows 8 及更高版本,强烈建议改用 PathCchRemoveFileSpec 。在其他改进中,它不再限于
MAX_PATH
(260) 个字符。