
Hi! Try to umderstand boost and... have got a trable. What are wrong? // no boost: void CommandLineParser::Parse(void) { wostringstream wostr; m_szArglist = CommandLineToArgvW(GetCommandLineW(), &m_nArgs); if( NULL == m_szArglist ) { wostr << L"CommandLineToArgvW failed" << ends; m_objErrFileWriter->PutLineIntoLogFile(wostr.str()); return ; } else wostr << endl ; for( int i=0; i < m_nArgs; ++i) { wostr << L"Command line parameter " << i << " is " << m_szArglist[i] << endl ; } wostr << ends ; m_objLogFileWriter->PutLineIntoLogFile( wostr.str()); // OK. //in file //Command line parameter 0 is C:\UPL\projects\vc\game\ufo_pl.exe //Command line parameter 1 is --help } // with boost: BOOL CommandLineParser::Parse(BOOL boost) { //vector<string> args = po::split_winmain(GetCommandLineW()); // not for wstring //vector<string> args = po::split_winmain(lpCmdLine); // not get file name and path vector<wstring> args = po::split_winmain(GetCommandLineW()); try { // po::options_description desc(L"Allowed options"); // not work whith wstring po::options_description desc("Allowed options"); desc.add_options() // (L"help", L"produce help message") // not work ("help", "produce help message"); po::variables_map vm; po::store(po::wcommand_line_parser(args).options(desc).run(), vm); po::notify(vm); if (vm.count("help")) // do not catch a "help" ???????????? { // not work //wostringstream wosstr; //wosstr << desc << endl; //MessageBoxW(NULL, wosstr.str().c_str(), L"Allowed options", MB_OK); ostringstream ostrem; ostrem << desc << endl; MessageBoxA(NULL, ostrem.str().c_str(), "Allowed options", MB_OK); return FALSE; } } catch(exception& e) { wcerr << "error: " << e.what() << "\n"; return TRUE; } catch(...) { wcerr << "Exception of unknown type!\n"; } return TRUE; }