2010-09-13 13 views
5

Ich kann keine Möglichkeit sehen, Positionsbefehlsargumente mit Poco'sPoco::Util::Application Klassen und verwandten Poco::Util::OptionProcessor zu unterstützen. Positional Argumente unbenannte Argumente auf der Kommandozeile sind, am Ende, nachdem alle anderen Optionen kommen, wie zum Beispiel:Unterstützt die Poco C++ Library positionsbezogene Befehlszeilenargumente?

someprogram -b --what=121 filename.bin 

In diesem Beispiel filename.bin ist ein Positions Argument, es hat keinen Namen, sondern ist die erste Positionsargument nach allen benannten Argumenten. Boost's program_options unterstützt dies, und ich kann es kaum glauben, dass Poco das nicht tut, aber ich kann nicht herausfinden, wie ich es angesichts der Quelle und der Dokumentation unterstützen kann.

Unterstützt dies Poco?

Antwort

5

Ich bin mit Poco nicht vertraut, aber in der Dokumentation suchen, ich vermute, dass die beabsichtigte Verwendung wiederholt Poco::Util::OptionProcessor::process() auf aufeinanderfolgende Elemente von argv nennen ist, bis es false zurückkehrt, und das würde dann den Beginn der Positionsargumente bedeuten und lass dich mit ihnen umgehen, wie du es willst.

+1

Sieht aus, als ob Sie Recht haben, außer dass ich process() nicht erneut aufrufen muss. Wenn die main-Methode aufgerufen wird, sind nur noch Argumente übrig. –