C++Configプロファイルクラス
4517 ワード
本明細書では、jsoncppが提供する方法が簡単で読みやすいため、Configクラスのシーケンス化および逆シーケンス化に使用されるjsoncpp.プロファイルのフォーマットももちろんjsonです.
1 {
2 "image" : {
3 "savepath" : "D:\\Documents\\Pictures\\Wayixia"
4 }
5 }
Googleでは「C++Config」という文章がたくさんありますが、niceと書いてありますが、いずれもiniで、iniの階層やデータ構造は限られています.例えば、
1 [image]
2 files=1.jpg,2.jpg,3.jpg
iniツールクラスを介してfilesのコンテンツを読み取る場合、コンテンツをフォーマットする方法またはインタフェースが必要になります.構成内容が多い場合、修正や読み取りを容易にするために、追加のコードを書かなければなりません.
1 [sectionname1]
2 fieldname=...
3
4 [sectionname2]
5 fieldname=...
6
7 [sectionname3]
8 fieldname=...
9
10 ...
理想的なプロファイルクラスのインタフェースは簡単で、自然生産のJosnファイルも簡単で読みやすいです.
1 Config config;
2 //
3 config.FromFile([filename]);
4
5 // Get
6 // value , , v.toInt(), v.toString()...
7 value v = config.Get("sectionname.fieldname", [default_value]);
8
9 //
10 int a = v.toInt()
11 std::string s = v.toString();
12 ...
13
14 // Set
15 config.Set("sectionname.fieldname", [value]);
16
17 //
18 config.ToFile([filename])
以下はパッケージ化されたConfigクラスで、使用前にjsoncppのヘッダファイルとライブラリを構成する必要があります.ここをクリックしてダウンロードします.
もちろん、jsonで構成されたアプリケーションは少なくなく、興味のある学生は討論に参加することを歓迎します.誤りを発見したら直ちに修正を通知して、ありがとうございます!