在boost::program_options
庫中,我無法理解如何讓用戶傳遞一個未通過add_options()
添加的參數。
我希望它被忽略,而不是終止程序。boost :: program_options:如何忽略未知參數?
4
A
回答
2
我就遇到了這個確切的同樣的問題在今晚。 @ TAS的回答讓我走上了正確的道路,但仍花了20分鐘的時間來弄清楚我的特定用例的確切語法。
要忽略未知的選項,而不是寫這個:
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
po::notify(vm);
我寫了這個:
po::variables_map vm;
po::store(po::command_line_parser(argc, argv).options(desc).allow_unregistered().run(), vm);
po::notify(vm);
請注意,只有中間線是不同的。
簡而言之,使用commandline_parser()
而非parse_commandline()
,用一些「垂吊比特」(即,.options(desc).allow_unregistered().run()
)調用之後上漲了。
7
從升壓:: program_options文檔How To: Allowing Unknown Options
parsed_options parsed =
command_line_parser(argc, argv).options(desc).allow_unregistered().run();
相關問題
- 1. Boost :: Program_options,傳遞未知的命令行參數
- 2. 忽略未知數量的參數
- 3. 如何處理boost :: program_options中的未經請求的參數
- 4. boost :: program_options忽略配置文件中的選項
- 5. boost :: log :: sources :: basic_logger :: open_record_unlocked忽略參數
- 6. BOOST program_options:解析多個參數列表
- 7. C++:Boost program_options:多個參數列表
- 8. 如何構建Boost :: program_options
- 9. boost :: program_options中帶參數和不帶參數的參數
- 10. boost :: program_options undefined reference
- 11. setprecision for boost :: program_options
- 12. C++ Boost program_options crash
- 13. extractin/building boost program_options
- 14. 如何避免boost :: program_options中不存在的參數錯誤?
- 15. Boost Program Options默默忽略未知值標記。爲什麼?
- 16. XStreamMarshaller忽略未知元素
- 17. 子串後忽略未知
- 18. 忽略參數
- 19. C++ boost :: program_options與getopt_long兼容的參數讀取參數
- 20. GGPLOT2錯誤「警告:忽略未知參數:箱」
- 21. linux GNU getopt:忽略未知的可選參數?
- 22. 未定義參考的boost :: program_options :: abstract_variables_map :: operator []的
- 23. 如何接受boost :: program_options中的空值
- 24. boost :: program_options如何重新加載值
- 25. 忽略參數NULL
- 26. LayoutInflater忽略參數?
- 27. MVC4忽略參數
- 28. 如何忽略可選參數在c#
- 29. 如何忽略不必要的參數?
- 30. 如何忽略某些參數的TQuery