2014-05-22 4 views
5

멀티 톡 및 위치 옵션이 모두 허용되는 경우 boost::program_options 입력을 구문 분석하거나 관리하는 방법은 무엇입니까? 예를 들어부스트 프로그램 옵션 : 위치 및 멀티 톡 옵션

하십시오 multitokenoption 완료하고 위치 옵션이 시작되면

./app.sample pos1 --multitokenoption a b c d pos2 

어떻게 부스트 알고 있나요?

분명히 논리적으로 허용되는 동작은 함수 매개 변수의 기본 인수 에서처럼 멀티 톡 옵션이 마지막 매개 변수로 나타나야한다는 것입니다.하지만 설명서에는 아무 것도 말하지 않습니다.

+1

'멀티 톡 팅'이 완료된다고 생각하는 이유는 무엇입니까? 남은 모든 토큰을 먹을 것입니다. 'pos2'가 필수 인 경우에는 throw됩니다. – HEKTO

답변

4

은 multitoken 옵션 값의 끝을 표시하는 세 가지 방법이 있습니다

  1. 또 다른 옵션 : 위치 옵션에 대한

    ./app.sample pos1 --multitokenoption a b c d --regularoption v pos2 
    
  2. 옵션 이름 (거의 # 1)

    ./app.sample pos1 --multitokenoption a b c d --pos2 pos2 
    
  3. 두 번 대시 :

    마법의 아무것도 -
    ./app.sample pos1 --multitokenoption a b c d -- pos2 
    

그렇지 않으면 멀티 토큰 옵션은 여기서 멈추지하는 알 수 없습니다.

+1

but boost :: program_option에는 이중 대시에 대한 네이티브 지원이 없습니다. –

+2

그것은 나를 위해 작동합니다. 부스트 = 1.55.0, 컴파일러 = GCC 4.8.1, OS = Xubuntu 3.11.10.3 – HEKTO