我有一个文件名(C:\ folder\foo.txt),我需要在非托管C++中检索文件夹名称(C:\文件夹).在C#中我会做这样的事情:
string folder = new FileInfo("C:\folder\foo.txt").DirectoryName;
Run Code Online (Sandbox Code Playgroud)
是否有一个可以在非托管C++中使用的函数从文件名中提取路径?
我有一个目录的路径,我想使用 C++ 的std::filesystem. 例如,如果路径是:
std::filesystem::path fake_path("C:\\fake\\path\\to\\my_directory\\");
Run Code Online (Sandbox Code Playgroud)
我想得到“my_directory”。
我已经看到了这个答案,最初认为在 中起作用的内容在boost::filesystem中不起作用std::filesystem,尽管这可能不正确。无论哪种方式,我都不相信这是重复的,因为那个人专门询问boost::filesystem并以文件结尾的路径。
我可以想到其他几种解决方案,例如获取fake_path.end() - 2或获取字符串并在分隔符上拆分,但没有一个像fake_path.filename()以前那样简单。
有没有一种干净的方法来获取目录路径的最后一部分,大致相当于调用.filename()文件的路径?