在linux和windows下獲取路徑的常用方法
1.在windows下獲取執行檔案路徑:
string GetExeFilePath()
{
char szPath[512] = {0};
DWORD nSize = sizeof(szPath);
DWORD nLen = ::GetModuleFileName(NULL, szPath, nSize);//獲取可執行檔案路徑,包含可執行檔名,如:D:\test\demo.exe
if (0 == nLen)
{
throw;
}
szPath[nLen] = 0;
string strPath = szPath;
return strPath;
}
2.在linux下獲取主目錄路徑:
char* GetExeFilePath()
{
char *lpszPaht = getenv("HOME");// 獲取主目錄路徑,如:/home/usrname
if (NULL != lpszValue)
{
printf("get home path default\n");
}
return lpszPath;
}
3.在linux下獲取執行路徑的方法
char* GetExeFilePath()
{
char sysfile[25] = "/proc/self/exe";
char selffile[256]={0};
if(-1 != readlink(sysfile,selffile,256))
{
printf("exe file path=%s\n",selffile);
}
}
備註:上述提供獲取路徑的常用方法,從而為配置其它檔案路徑(如:配置檔案路徑)提供參考。
在獲取上述路徑後,在此基礎上,進而去設定配置檔案路徑。