私はこれまでコンフィグレーションファイルを使ったことはありませんでしたが、私が書いているエンジニアリングコードのパラメータファイルとして使うことに興味があります。libconfigを使用して配列やリストの設定をインポートする
私はプロのプログラマーではなく、libconfigを使って単純なリストや配列の設定をインポートする方法を理解するのに2日間を費やしました。大雑把example hereから作業、私は正常に私が期待される出力を得る
Config cfg;
// check for I/O and parse errors
try
{
cfg.readFile("importtest.cfg");
}
catch(const FileIOException &fioex)
{
std::cerr << "I/O error while reading config file." << std::endl;
return(EXIT_FAILURE);
}
catch(const ParseException &pex)
{
std::cerr << "Parse error at " << pex.getFile() << " : line " << pex.getLine() << " - " << pex.getError() << std::endl;
return(EXIT_FAILURE);
}
// look for 'mynumber'
try
{
int number = cfg.lookup("mynumber");
std::cout << "your number is " << number << std::endl;
}
catch(const SettingNotFoundException &nfex)
{
std::cerr << "No 'mynumber' setting in configuration file." << std::endl;
}
のような主要機能を使用して
(importtest.cfg)
mynumber = 1;
のように、スカラー設定をインポートすることができますよ
your number is 1
ただし、単純なリスト設定をインポートできません。 uchとして
mylist = (1,2,3,4);
同様に。私は(ルート設定の作成のような)いくつかの解決策を試しましたが、実際にそれらのどれかを理解していません。
ご迷惑をおかけして申し訳ありません。