VC有個(gè)讓新手抓狂的地方, 把工程路徑作為調(diào)試模式時(shí)的進(jìn)程當(dāng)前目錄.
估計(jì)很多新手因?yàn)榇虿婚_(kāi)文件而耗費(fèi)大量的時(shí)間,甚至放棄
以前使用純Windows方式解決這種問(wèn)題:
1: #include <Shlwapi.h>
2: #include <shlobj.h>
3:
4: #pragma comment(lib,"shlwapi.lib")
5:
6: wchar_t exename[MAX_PATH];
7: ::GetModuleFileName(NULL,exename,MAX_PATH);
8: ::PathRemoveFileSpec( exename );
9: ::SetCurrentDirectory( exename );
需要跨平臺(tái)時(shí),可以這樣寫(xiě):
1: #include <direct.h>
2: #include <boost/filesystem.hpp>
3:
4: int main(int argc, char* argv[])
5: {
6: _chdir( boost::filesystem::path( argv[0] ).remove_filename().string().c_str() );
7: }
被Windows慣壞了, 到處找Linux或者boost版本的GetModuleFileName, 結(jié)果忘記了當(dāng)年c語(yǔ)言課上教的命令行傳入?yún)?shù)...