ここで libConfuse に言及する価値があると思い、その説明を引用します:
<ブロック引用>libConfuse は構成ファイル パーサー ライブラリであり、ISC ライセンスの条項に基づいてライセンスされ、C で記述されています。セクションと (のリスト) 値 (文字列、整数、浮動小数点数、ブール値、またはその他のセクション)、およびその他の機能をサポートしています。 (一重/二重引用符で囲まれた文字列、環境変数の展開、関数、ネストされた include ステートメントなど)。シンプルな API を使用して、構成ファイル機能をプログラムに簡単に追加できます。
libConfuse の目標は、無数の機能を備えた構成ファイル パーサー ライブラリになることではありません。代わりに、使いやすく、コードにすばやく統合できるようにすることを目指しています。 libConfuse は以前は libcfg と呼ばれていましたが、他の同様のライブラリと混同しないように名前が変更されました。
前述の libconfig とかなり似ているようです。 A study of the existing libraries to read from configuration files に C と C++ パーサーの簡単な比較があり、代替案の中から選択する人にとって有用な出発点となる可能性があります。
libconfig ですが、それはあなたが求めている以上のことを行います