獲取程序所在的目錄是一個常用的需求,在Windows下使用
GetModuleFileName可以滿足需求。
在使用Qt,wxWidgets等實現可跨平臺代碼該如何處理?
---找與GetModuleFileName等價的API。這是我馬上能相到的。很遺憾,卻沒有找到。
有時候,你需要的東西就在你的面前,你卻找不到它。
這樣的程序你一定寫過,并且還用不同種語言實現過:
int main(int argc, char *argv[])
{
std::cout << "Hello World!" << std::endl;
return 0;
}
我們需要的目錄信息也存在于當中:
QString applicationPath = argv[0];
int nPos = applicationPath .lastIndexOf('\\');
applicationPath = applicationPath .left(nPos+1);
所以,我們根本不需要額外的API來獲取程序的目錄。
說起GetModuleFileName,就會想起Set/GetCurrentDirectory。
有時候,我們并沒有忘記,只是還沒有想起來。