可以对字符串路径进行分割:

#include <stdio.h>
#include <windows.h>
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
char* path="C:\\服务程序\\MDTest\\地形\\tileset.json";
char drive[5];
char dir[100];
char filename[100];
char fileext[10];
_splitpath(path,drive,dir,filename,fileext);
cout<<"filepath: "<<path<<endl
<<"drive: "<<drive<<endl
<<"dir: "<<dir<<endl
<<"filename: "<<filename<<endl
<<"fileext: "<<fileext<<endl;
system("pause");
return 0;
}
strtok_s函数获取exe名称:一次次循环获取“\”后面的内容,直到得到xxx.exe。
char absolutePath[MAX_PATH];
memset(absolutePath, 0, MAX_PATH);
GetModuleFileNameA(NULL, absolutePath, MAX_PATH);
std::string sPath = (absolutePath);
// 获取应用程序名称 test.exe
char exeName[MAX_PATH] = "";
char *buf = NULL;
char* line = strtok_s(absolutePath, "\\", &buf);
while (NULL != line)
{
strcpy_s(exeName, line);
line = strtok_s(NULL, "\\", &buf);
}
std::string fileName = exeName;
return 0;
C++代码解析:路径分割与EXE名称获取
本文展示了如何使用C++标准库函数_splitpath和strtok_s来分别解析文件路径并获取EXE文件的名称。通过示例代码,详细解释了如何从路径中提取驱动器、目录、文件名和扩展名,并演示了如何遍历路径以获取执行文件的名称。
5977

被折叠的 条评论
为什么被折叠?



