[C(++)] Config-Parser

Hallo, kennt jemand nen Sourcecode in C / C++ um eine Key/Value-Config Datei zu parsen, also sowas hier

# Kommentar
wert1 = blablabla
wert2 = xyz

Weil es kommerziell verwendet wird, bitte lizenzfrei, also kein GNU oder so.

MfG
Bruno Haller

Hallo Bruno,

Du kannst Dir so einen Parser sehr leicht mit dem Tool flex
erstellen, ist super einfach.

Gruß Patrick

Hallo, kennt jemand nen Sourcecode in C / C++ um eine
Key/Value-Config Datei zu parsen, also sowas hier

Soll das proggi unter Win32 laufen ? in der winapi gibt’s
funktionen um auf ini-Dateien zuzugreifen:

GetPrivatProfile*
SetPrivatProfile*

Gruss Jens

ps: sind glaub ich noch ueberbleibsel von der pre95 Zeit

Soll das proggi unter Win32 laufen ? in der winapi gibt’s
funktionen um auf ini-Dateien zuzugreifen:

Nee unter Linux, von irgendwelchen Windows-Funktionen hatte ich schon gehört.

Aber trotzdem danke…

Naja im Zweifelsfall bastel ich mir da selber schnell was zusammen, is ja ned so arg schwierig

MfG
Bruno

Hi,

Hallo, kennt jemand nen Sourcecode in C / C++ um eine
Key/Value-Config Datei zu parsen, also sowas hier

Kommentar

wert1 = blablabla
wert2 = xyz

ich habe sowas geschrieben und wuerds unter gpl rausgeben.
Der Syntax ist:

Kommentar

bool bla 1
1Ddouble bli 15.6
2Dstring blub {
str1 str2 str3
str4 str5 str6
}
copy blub blubber # obiger 2Dstring liegt jetzt unter den Namen Blub und Blubber vor

fuer andere Variablentypen gibts andere Keywords

Die Variablen werden im Programm dann nach Namen abgefragt (z.B. pars->get_val(„blub“, put_it_here):wink:. Es wird ueberprueft ob alle Werte auch tatsaechlich verwendet werden und ob Werte mehrmals abgefragt werden (diesbezuegliche Warnungen koennen natuerlich auch abgestellt werden). Und es findet Typechecking statt (daher die Keywords!). Eine double ist eine double und kann im Programm nur an eine double uebergeben werden! Das ist fuer viele Anwendungen vermutlich laestig … ich brauchte es aber so …
Die Reihenfolge in der die Variablen eingelesen werden ist unerheblich - auch auf wieviele Files sie verteilt sind.
Wenn das das ist, was Du brauchst, mailde Dich, ich schicks Dir.

Gruss

Thorsten

Hi Thorsten,

interessieren würde es mich schon, mails mir doch bitte mal.
Aber einsetzen werd ich es nicht, weil ich meinen Source-Code nicht offenlegen werde…

aber ich glaub mir tuts auch n primitiveres Ding… das is glaub wirklich nicht allzu schwer, einfach immer den key suchen, leerzeichen strippen und nach dem gleich das als wert zuweisen

MfG Bruno

Hi Bruno :wink:))

aber ich glaub mir tuts auch n primitiveres Ding… das is
glaub wirklich nicht allzu schwer, einfach immer den key
suchen, leerzeichen strippen und nach dem gleich das als wert
zuweisen

Jo, so sollte es gehen. Es bietet sich jedoch die Verwendung einer Hash-Tabelle (mit 65599-Hashfunktion) an, damit das Suchen der Keys nicht zu lange dauert :wink:)) Geht auf jeden Fall schneller als binäre Suche in einer sortierten Liste.

cu Stefan.

Jo, so sollte es gehen. Es bietet sich jedoch die Verwendung
einer Hash-Tabelle (mit 65599-Hashfunktion) an, damit das
Suchen der Keys nicht zu lange dauert :wink:)) Geht auf jeden
Fall schneller als binäre Suche in einer sortierten Liste.

Sorry, hatte mich nicht klar ausgedrückt, ich meinte nur einmal die Aktion und dann abspeichern in nem Hash oder so.
Die 65599-Funktion is übrigens eingebaut, thanx, arbeitet einwandrei :smile:

Bruno