aboutsummaryrefslogtreecommitdiffstats
path: root/samples/c++/sample1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'samples/c++/sample1.cpp')
-rw-r--r--samples/c++/sample1.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/samples/c++/sample1.cpp b/samples/c++/sample1.cpp
new file mode 100644
index 0000000..7344838
--- /dev/null
+++ b/samples/c++/sample1.cpp
@@ -0,0 +1,47 @@
+/*************************************************************************
+ ** Sample1
+ ** Load sample.cfg and increment the "X" setting
+ *************************************************************************/
+
+#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;
+
+ /* Increment "x" */
+ cout << "increment \"x\"..";
+ Setting& s = cfg.lookup("x");
+ long x = s;
+ s = ++x;
+ cout << "ok (x=" << x << ")" << endl;
+
+ // Save the configuration
+ cout << "saving [sample.cfg]..";
+ cfg.writeFile("sample.cfg");
+ cout << "ok" << endl;
+
+ cout << "Done!" << endl;
+ }
+ catch (...)
+ {
+ cout << "failed" << endl;
+ }
+
+ return 0;
+}
+
+/***************************************************************************/