2010-12-16 4 views
3

요즘에는 INI 파일을 읽을 수있는 부스트 프로그램 옵션을 사용하고 있습니다.부스트 프로그램 옵션을 사용하지 않고 알 수없는 옵션 건너 뛰기

코드에서 한 번 예외가 발생했습니다. 알 수없는 옵션이있는 행이 있습니다. 가능한지 그리고 아래의 코드에서 전체 파일을 읽는 방법을 알고 있습니까? 가능한 모든 값을 읽을 수 있도록 throw하지 않고 알 수없는 옵션을 건너 뛰고 싶습니다. 감사 AFG

namespace pod = boost::program_options; 
pod::options_description options("Options"); 
std::string myArgValue; 
options.add_options()  

     ("SECT_A.Option_A", 
      pod::value<int>()->default_value(1), 
      "xxx") 

     ("SECT_B.Option_B", 
      pod::value<std::string>(&myArgValue), 
      "xxx") 
; 

pod::variables_map vm; 
pod::store(pod::parse_config_file(s, options) , vm); 
pod::notify(vm); 

답변

6
+0

당신이 나를 도울 수 : allow_unregistered()는, 한 번 봐 있나요? 컴파일되지 않습니다. 내 코드를 다음과 같이 업데이트합니다. pod :: store (pod :: parse_config_file (s, options) .allow_unregistered(), VM); 하지만 컴파일되지 않습니다. –

+4

안녕하세요. 나는 나의 특정한 경우에 그것을하는 방법을 발견했다. parse_config_file에는 기본값으로 'false'로 설정된 "allow_unregistered"라는 세 번째 optioanl 값이 있습니다. 'true'로 설정하고 예외가 더 이상 없습니다. –

+0

미안, 나는 점심 먹으러 떨어져 있었다! :) 만약 당신이 그것을 가지고있어 멋진 차가운 .. – Nim