2つの主な目的で、コードの入力/ログファイルを作成することを検討しています。
1)必要に応じて将来同じ結果を再現できるように、コードが実行されたすべての主要なパラメーターをログに記録できるようにします。2)コード内のパラメーターをハードコーディングすることなく、コードを開始/再開できます。
コードと一緒にヘッダーファイルを簡単に運ぶことができるように、ヘッダーのみのアプローチに興味があります。これにより、boost.property_treeになりました。ドキュメントから、それは目的を果たしているようです。私の質問は、どのファイル形式が私のニーズに最も適しているかということです。私は何かが必要です:
1)人間が簡単に読み取り/編集できる2)ネストされたセクションをサポートできる3)コメントをサポートできる
デフォルトではxmlを使用していますが、boost.property_treeの解析機能を考慮すると、これが最適なオプションかどうかはわかりません。たとえば、次のようなものを解析できるようにしたいです。
<Grid Type = "AMR">
<Domain> -1.0 1.0 -1.0 1.0 </Domain>
<Levels> 10 5 </Levels>
<Path> /path/to/data.bin </Path>
</Grid>
Type
プロパティDomain
、、、、Levels
およびセクションを正しく個別に読み取ることができるようにしたいPath
(たとえばDomain
、長方形のエッジに対応する4つの個別のフローティングポイントがあります)。私のコードは次のようになります:
using boost::property_tree::ptree;
ptree pt;
double x = pt.get<double>("Grid.Domain");
std::cout << x << std::endl;
しかし、私は取得し続けconversion of data to type "d" failed
ます。どうすれば修正できますか?また、xmlは私が持っている最良のオプションですか、それとも別の形式への変更を検討する必要がありますか?