目前,我正在使用 GetModuleFileName
获取文件路径,并将其存储在 szExeFilePath 中:
TCHAR szExeFilePath[MAX_PATH];
GetModuleFileName(NULL, szExeFilePath, MAX_PATH);
然后返回 C:\\dev\\program\\Debug\\program.exe
但是我也想只存储 program.exe
。我环顾四周,发现 _splitpath_s
可能是执行此操作的最简单方法。唯一的问题是我没有看到任何关于如何实际使用 _splitpath_s
的解释,我根本无法让它工作。
所以基本上我是在问如何使用 _splitpath_s
或者是否有更简单/更容易的方法来获取可执行文件的文件名。
最佳答案
However I also want to store just the program.exe
使用 C++17,您可以简单地使用 std::filesystem
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main()
{
std::cout << fs::path("C:/dev/program/Debug/program.exe").filename() << '\n' ;
}
关于c++ - 有没有一种简单的方法可以从 C++ 中的路径获取文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51777896/