有没有一种简单的方法可以从 c++ 中的路径获取文件名?

Is there a simple way to get the filename from a path in c++?

本文关键字:c++ 路径 文件名 获取 方法 一种 有没有 简单      更新时间:2023-10-16

目前我正在获取文件的路径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或者是否有更简单/更容易的方法来获取可执行文件的文件名。

但是我也

只想存储程序.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' ;
}

在这里演示