Je trouve qu'il vaut la peine de mentionner libConfuse ici, et de citer sa description :
libConfuse est une bibliothèque d'analyseur de fichiers de configuration, sous licence selon les termes de la licence ISC, et écrite en C. Elle prend en charge les sections et (listes de) valeurs (chaînes, entiers, flottants, booléens ou autres sections), ainsi que d'autres fonctionnalités (telles que les chaînes entre guillemets simples/doubles, l'expansion des variables d'environnement, les fonctions et les instructions d'inclusion imbriquées). Il est très facile d'ajouter une capacité de fichier de configuration à un programme à l'aide d'une simple API.
Le but de libConfuse n'est pas d'être la bibliothèque d'analyseur de fichiers de configuration avec un million de fonctionnalités. Au lieu de cela, il vise à être facile à utiliser et rapide à intégrer à votre code. libConfuse s'appelait auparavant libcfg, mais son nom a été changé pour ne pas se confondre avec d'autres bibliothèques similaires.
Il semble assez similaire au libconfig déjà mentionné. Il y a une courte comparaison des analyseurs C et C++ dans Une étude des bibliothèques existantes pour lire à partir des fichiers de configuration qui pourrait être un début utile pour quiconque choisit parmi les alternatives.
libconfig mais il fait bien plus que ce que vous demandez