Home | Documentation | Program Example | Configuration Example | Download |
---|
The simple program example
#include <cstdio> #include <iostream> #include <fstream> using namespace std; #include "Config.h" int main() { Section *conf = parseConfig("test.txt"); cout << "----------------------"<<endl; if (conf == NULL) { cerr << "configuration is empty" << endl; return 1; } std::ofstream Out ("result.cfg",std::ios::out | std::ios::binary); printSection(Out, conf); //print configuration into result.cfg file long a = 0; bool xxx = false; std::string str = ""; std::string rules_name; cout << "--- Initialize variables ---" << endl; //This is the safe way to initialize some of our variables SetupVars set_vars; set_vars.Add("str1", //config variable new SetupBaseType_string(str), //init functor true, //if undefined config var is it fatality or no "test"); //default value if there is no the variable in config file set_vars.Add("a", new SetupBaseType_long(a), false, "-1"); set_vars.Add("xxx", new SetupBaseType_yesno(xxx), false, "yes"); set_vars.Add("name", new SetupBaseType_string(rules_name), false, "ZZZZ"); try { set_vars.Set(conf); //conf is a section pointer from which we should init our variables. } catch (errGetVal &er_val) { cerr << "variable '" << er_val.key << "' wasn't define in configuration" << endl; } cout << "--- The result of initialization ---" << endl; cout << "int a = " << a << endl << "bool xxx = " << xxx << endl << "string str = " << str << endl << "string rules_name = " << rules_name << endl; return 0; }