今天在想获得.exe可执行路径的时候,遇到了困难。最后还是解决了。
刚开始用
GetCurrentDirectory(或者_getcwd),发现这只能获得当前工作路径。如果代码中对其他文件夹中的文件操作时,则获得的则不一样了。而我要获得当前exe可执行文件所在的路径。
后来发现是这样的:
我的exe文件所在路径为:
C:\Users\Jovan Yang\Desktop\论文代码\UnAPK&Extract all
API\Debug\xxx.exe
char exeFullPath[MAX_PATH]={0};
GetModuleFileName(NULL,exeFullPath,MAX_PATH);//得到程序模块.exe全路径
//接下来把xxx.exe文件名去掉,有以下四种:
*strrchr( exeFullPath, '\\') = 0;//得到C:\Users\Jovan
Yang\Desktop\论文代码\UnAPK&Extract all API\Debug
strrchr( exeFullPath, '\\')[0]= 0;//也是得到C:\Users\Jovan
Yang\Desktop\论文代码\UnAPK&Extract all API\Debug
*(strrchr( exeFullPath, '\\')+1) = 0;//得到C:\Users\Jovan
Yang\Desktop\论文代码\UnAPK&Extract all API\Debug\
strrchr( exeFullPath, '\\')[1]= 0;//也是得到C:\Users\Jovan
Yang\Desktop\论文代码\UnAPK&Extract all API\Debug\
好了,就这样。多找找还是能解决的。