有没有一种简单的方法可以从 c++ 中的路径获取文件名?
Is there a simple way to get the filename from a path in c++?
目前我正在获取文件的路径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' ;
}
在这里演示
相关文章:
- 如何将更多文件夹添加到c++include路径
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- C++A*算法并不总是在路径中具有目标节点
- 从函数角度看ID到文件路径的内部与外部映射
- boost xml parsingl将xml的路径作为变量发送
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- 如何使用cppcheck处理半相对包含路径
- 在C++中设置基于操作系统的文件路径
- 基于编译器选项的编译二进制路径
- 按边长度递归搜索图中所有可行路径
- 使用变量值作为 PlaySound 中的路径
- 如何转换真实路径 CString c++
- 从 GUID 获取 USB 卷路径
- 查找 GCD:并非所有控制路径都返回值
- C++17 文件系统::remove_all 带有通配符路径
- 在带有尾部斜杠的路径上返回 std::filesystem::create_directories() 的值
- 获取当前正在运行的 exe 名称(不是路径)
- 如何从 Skia 路径几何体中获取网格?
- CMake 错误"源似乎不包含 CMakeLists.txt",路径/库连接问题
- VS Code C++:不准确的系统包括路径错误(wchar.h,boost/lambda/lambda.hpp)