Die Parameter nicht am Anfang analysieren, sondern den aus einer Pipe gelesenen Eingabestring analysieren, wenn das Programm schon einige Zeit läuft. Kann boost :: program_options dies tun? Danke. EDIT: Ich muss ein C++ Programm oft mit verschiedenen Parametern in Python testen. Ich möchte Parameter über subprocess.PIPE übergeben, um das Verhalten des Programms zu ändern.Kann boost :: program_options stdin String von Pipe analysieren?
Antwort
Ich kann mir nicht vorstellen warum nicht. Das heißt, warum versuchen Sie, die Optionen an das Programm zu leiten? Vermutlich betrachten Sie eine Option, die zu lang ist, um bei jedem Aufruf des Programms zu tippen. Wenn dies der Fall ist, hat program_options eine wirklich gute Möglichkeit, Konfigurationsdateien einzubinden, so dass sie vor der Befehlszeile auf Optionen überprüft werden.
Wie immer, there's some great documentation and examples available von Boost, das erklärt dies im Detail.
EDIT: Danke für die Klarstellung. Wenn Sie in Python mit Piping-Eingaben zu oder von Subprozessen umgehen wollen, dann ist subprocess.PIPE Ihr Freund.
Ich meine Parse die Zeichenfolge bekam aus ruft Funktion in der C++ - Programm. – Treper
- 1. BOOST program_options: Analysieren mehrerer Argumentliste
- 2. boost :: program_options Positionsoptionen
- 3. Nicht registrierte Optionen für Konfigurationsdateien in Boost program_options analysieren?
- 4. Boost Program_options Konfigurationsdatei Kommentare
- 5. Kopieren boost :: program_options :: parsed_options
- 6. Wie boost :: program_options
- 7. boost program_options mehr Werte Problem
- 8. boost :: program_options Bug oder Feature?
- 9. Kann boost :: program_options Verwenden Sie ein anderes Trennzeichen als "-"?
- 10. Boost Program_Options wirft "Zeichenumwandlung fehlgeschlagen"
- 11. boost :: program_options gibt malloc Fehler
- 12. Kompilierung fehlgeschlagen in Boost librairies (program_options)
- 13. Unterstützt boost :: program_options eine der folgenden Alternativen?
- 14. undefined reference boost :: program_options :: abstract_variables_map :: operator []
- 15. boost :: program_options hängt am arm "manchmal"
- 16. Wie akzeptiere ich leeren Wert in boost :: program_options
- 17. Wie reproduziere ich `stdin = sys.stdin` mit` stdin = PIPE`?
- 18. Kurze Optionen nur in boost :: program_options
- 19. Verwendung von boost :: asio :: async_read mit stdin?
- 20. So behandeln Sie unerwünschte Parameter in boost :: program_options
- 21. win32: Wie stoppen Readfile (stdin | pipe)
- 22. Wie stdin in eine Pipe verketten?
- 23. So verwenden Sie botocore.response.StreamingBody als Stdin PIPE
- 24. Verbieten negatives Argument für unsigned Wert mit boost :: program_options
- 25. C++ boost :: program_options lesen Argumente kompatibel mit getopt_long
- 26. Bad Pipe-Dateideskriptor beim Lesen von Stdin in Python
- 27. boost program_options akzeptiert alle Werte nach dem letzten Flag
- 28. Angular2 split string (pipe?)
- 29. boost :: program_options: Wie bekommt man den Namen der Anwendung?
- 30. Wie gebe ich einen Standardwert für Vektor <string> in boost :: program_options
Können Sie ein konkretes Beispiel dafür geben, was Sie erreichen möchten? Es ist unklar, was "die Parameter am Anfang" bedeuten. – mavam
Ich meine Parse die Zeichenfolge bekam von bekommt Funktion im C++ Programm. – Treper
Es klingt wie dies ist kein boost :: program_options Problem, sondern eine Frage der Generierung der richtigen Befehlszeile, die Ihre Anwendung aufruft ?! – mavam