C++ 獲得當前執行文件的路徑

先直接上代碼,比較直觀:

        char szModuleFilePath[MAX_PATH];
        char SaveResult[MAX_PATH];
        int n = GetModuleFileNameA(0, szModuleFilePath, MAX_PATH); //獲得當前執行文件的路徑
        szModuleFilePath[ strrchr(szModuleFilePath, '\\') - szModuleFilePath + 1 ] = 0;//將最後一個"\\"後的字符置爲0
        strcpy(SaveResult,szModuleFilePath);
        strcat(SaveResult,"\\OutMessage\\outMessagebyJam.txt");//在當前路徑後添加子路徑


獲取當前執行文件的路徑用GetModuleFileNameA()這個函數就可以了,它獲取當前進程已加載模塊的文件的完整路徑,該模塊必須由當前進程加載。路徑形式如  "F:\users\administrator\documents\visual studio 2013\可用工程\TrafficTest_org\TrafficClassCreate\Release\TrafficClassCreate.exe",若想要獲取另一個已加載模塊的文件路徑,可以使用GetModuleFileNameEx函數。

GetModuleFileNameA()函數接口:

DWORD WINAPI GetModuleFileName(
    _In_opt_  HMODULE hModule,
    _Out_     LPTSTR lpFilename,//返回的路徑名
    _In_      DWORD nSize
);

strrchr()這個函數,查找指定字符串中從正面開始的最後一次出現的位置,如果成功,返回指定字符最後一次出現位置的地址,如果失敗,則返回 NULL。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章