从文件名中获取目录名

2022-01-01 00:00:00 directory file c++

我有一个文件名 (C:folderfoo.txt),我需要在非托管 C++ 中检索文件夹名称 (C:folder).在 C# 中,我会做这样的事情:

I have a filename (C:folderfoo.txt) and I need to retrieve the folder name (C:folder) in unmanaged C++. In C# I would do something like this:

string folder = new FileInfo("C:folderfoo.txt").DirectoryName;

是否有可以在非托管 C++ 中使用的函数从文件名中提取路径?

Is there a function that can be used in unmanaged C++ to extract the path from the filename?

推荐答案

为此有一个标准的 Windows 功能,PathRemoveFileSpec.如果您只支持 Windows 8 及更高版本,强烈建议使用 PathCchRemoveFileSpec 代替.在其他改进中,它不再限于 MAX_PATH (260) 个字符.

There is a standard Windows function for this, PathRemoveFileSpec. If you only support Windows 8 and later, it is highly recommended to use PathCchRemoveFileSpec instead. Among other improvements, it is no longer limited to MAX_PATH (260) characters.

相关文章