aboutsummaryrefslogtreecommitdiffstats
path: root/samples/c++/sample3.cpp
diff options
context:
space:
mode:
authorJonathan McCrohan <jmccrohan@gmail.com>2011-12-01 22:54:16 +0000
committerJonathan McCrohan <jmccrohan@gmail.com>2011-12-01 22:54:16 +0000
commit58bf1382be0cbcf3f9649286fd2719b789a1595f (patch)
treeb73665275a2d44879a8230c913b1ef21a42e57da /samples/c++/sample3.cpp
downloadlibconfig-58bf1382be0cbcf3f9649286fd2719b789a1595f.tar.gz
Imported Upstream version 1.3.2upstream/1.3.2
Diffstat (limited to '')
-rw-r--r--samples/c++/sample3.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/samples/c++/sample3.cpp b/samples/c++/sample3.cpp
new file mode 100644
index 0000000..da1de79
--- /dev/null
+++ b/samples/c++/sample3.cpp
@@ -0,0 +1,54 @@
+/*************************************************************************
+ ** Sample3
+ ** Load sample.cfg and try to add a setting "foo"..
+ ** on success save to testfoo.cfg
+ *************************************************************************/
+
+#include <iostream>
+#include <libconfig.h++>
+
+using namespace libconfig;
+using namespace std;
+
+/***************************************************************************/
+
+int main()
+{
+ Config cfg;
+ try
+ {
+ /* Load the configuration.. */
+ cout << "loading [sample.cfg]...";
+ cfg.readFile("sample.cfg");
+ cout << "ok" << endl;
+
+ /* Add setting "foo" */
+ cout << "add setting \"foo\"/...";
+ Setting &root = cfg.getRoot();
+ Setting &foo = root.add("foo", Setting::TypeInt);
+ foo = 1234;
+ cout << "ok" << endl;
+
+ /** Look up an array element */
+ cout << "looking up array element...";
+ Setting &elem = cfg.lookup("arrays.values.[0]");
+ int val = elem;
+ std::cout << "value is: " << val << std::endl;
+ std::cout << "path is: " << elem.getPath() << std::endl;
+
+ /* Save to "samplefoo.cfg" */
+ cout << "saving [samplefoo.cfg]...";
+ cfg.writeFile("samplefoo.cfg");
+ cout << "ok" << endl;
+
+ cout << "Done!" << endl;
+ }
+ catch (...)
+ {
+ cout << "failed" << endl;
+ }
+
+ return 0;
+}
+
+/***************************************************************************/