最近要用MFC開發一個界面,裡面有一個需求就是生成一個與可執行文件(exe文件)同名的文件夾,比如我的可執行文件路徑是D:\KFS\codes\22222\Release\22222.exe,我需要在D:\KFS\codes\22222\Release路徑下生成一個22222的文件夾放東西。查閱了一點資料之後,成功了。之後寫了一個小demo。下面上代碼:
#include#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字符集 導致的。 解決方法是:右鍵--》屬性--》配置數型--》常規--》字符集--》選擇未設置--》確定。
結果圖: