Ich finde es erwähnenswert, libConfuse hier zu erwähnen, und zitiere seine Beschreibung:
libConfuse ist eine Konfigurationsdatei-Parser-Bibliothek, lizenziert unter den Bedingungen der ISC-Lizenz und in C geschrieben. Sie unterstützt Abschnitte und (Listen von) Werten (Strings, Integers, Floats, Booleans oder andere Abschnitte) sowie einige andere Funktionen (wie Zeichenfolgen in einfachen/doppelten Anführungszeichen, Erweiterung von Umgebungsvariablen, Funktionen und verschachtelte Include-Anweisungen). Es macht es sehr einfach, einem Programm mithilfe einer einfachen API Konfigurationsdateifähigkeiten hinzuzufügen.
Das Ziel von libConfuse ist nicht, die Parser-Bibliothek für Konfigurationsdateien mit einer Unmenge von Funktionen zu sein. Stattdessen soll es einfach zu bedienen und schnell in Ihren Code zu integrieren sein. libConfuse hieß früher libcfg, aber sein Name wurde geändert, um sich nicht mit anderen ähnlichen Bibliotheken zu verwechseln.
Es scheint der bereits erwähnten libconfig ziemlich ähnlich zu sein. Es gibt einen kurzen Vergleich von C- und C++-Parsern in Eine Studie über die vorhandenen Bibliotheken zum Lesen aus Konfigurationsdateien, die ein nützlicher Anfang für jeden sein könnten, der sich für eine der Alternativen entscheidet.
libconfig, aber es tut viel mehr als das, was Sie fragen