boost :: program_options - wie man mehrere Abschnitte mit demselben Namen in der INI-Datei behandelt

8

In einer Konfiguration wie unten; gibt es eine Möglichkeit, einzelne Abschnitte zu behandeln.

Ich suche nach einer Möglichkeit, einzelne "Server" -Abschnitte unten auf zuverlässige Weise zu validieren.

%Vor%     
ϹοδεMεδιϲ 22.12.2010, 12:16
quelle

2 Antworten

13

Wenn Sie boost::program_options verwenden, um eine INI-Datei zu analysieren, müssen den Optionsnamen die umschließenden Abschnittsnamen vorangestellt werden.

Mit anderen Worten, Sektionen sind Teil der Option 'Bezeichner', aber ich glaube nicht, dass Sie eine Möglichkeit haben, zu bestimmen, welcher Abschnitt eine gegebene server.ip Variable gehört (und somit was ist die zugehörige server.password ).

Ich denke, Sie sollten Boost.PropertyTree in Erwägung ziehen (was auch INI unterstützt) Dateianalyse) für diese Aufgabe.

    
icecrime 22.12.2010, 12:43
quelle
2

Von hier :

Die Optionsnamen sind relativ zu den Abschnittsnamen, daher die folgende Konfigurationsdatei:

%Vor%

entspricht

%Vor%

Aber es gibt derzeit keine Möglichkeit, Abschnitte mit demselben Namen zu unterscheiden.

UPDATE:

Qt's QSettings löst dies normalerweise, indem Werte (Abschnitte?) von einem Array mit "/ n" nachfixiert werden. So könnten Sie verwenden:

%Vor%     
chris 22.12.2010 12:46
quelle