1. 程式人生 > >在linux和windows下獲取路徑的常用方法

在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);

  }

}

備註:上述提供獲取路徑的常用方法,從而為配置其它檔案路徑(如:配置檔案路徑)提供參考。

在獲取上述路徑後,在此基礎上,進而去設定配置檔案路徑。