最近要用MFC开发一个界面,里面有一个需求就是生成一个与可执行文件(exe文件)同名的文件夹,比如我的可执行文件路径是D:\KFS\codes\22222\Release\22222.exe,我需要在D:\KFS\codes\22222\Release路径下生成一个22222的文件夹放东西。查阅了一点资料之后,成功了。之后写了一个小demo。下面上代码:
?
#include <windows.h>
#include
#include
using namespace std; int main(){ char chpath[MAX_PATH]; GetModuleFileName(NULL, (LPSTR)chpath,sizeof(chpath)); //获取exe文件路径 cout<
代码很简单,需要注意的函数都注释了。还有一点就是在VS2010中,新建工程之后,编译出现一个错误
?
error C2664: “GetModuleFileNameW”: 不能将参数 2 从“LPSTR”转换为“LPWSTR” 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
是由于默认是 使用Unicode字符集 导致的。 解决方法是:右键--》属性--》配置数型--》常规--》字符集--》选择未设置--》确定。

结果图:

?
?
?
?