GLib使ってINIファイル読み書き

INIファイルって古くさいものですが、単純なフォーマットゆえに手で簡単に編集できるので、今でも使いたい場合があります。
LinuxC言語だと、GlibライブラリにINIファイル(Key-Valueファイル)を扱うAPI関数が用意されているのですが、微妙に扱いが面倒くさいのでC++で簡単なラッパークラスを作りました。



【注意】

  • 諸事情により、わりと古いバージョンのGlibを使っています。最新のGlibならもう少し面倒が減ると思います。
  • GlibはC++でない純Cのライブラリです。そのため、g_key_file_get_string()などは内部で文字列をmallocして返すという危険な仕様になっています。今回作ったラッパーでは、mallocされた文字列はラッパー内でstd::stringで受け取ってfreeするようにしています。