diff --git a/cpp/cfgfile2.cpp b/cpp/cfgfile2.cpp new file mode 100644 index 0000000..09f2b30 --- /dev/null +++ b/cpp/cfgfile2.cpp @@ -0,0 +1,158 @@ +// A Test to read Config files +// This is a modified version +// The Config File Should be a text file +// and the content as follows +// key=value + +#include +#include +#include +#include + +typedef void (*pfun)();//The Function Pointer +typedef std::map conf_map;//Container of configs + +void Trim(std::string &str){ + if(str.empty()){//String is empty + return; + } + int i; + size_t start_pos,end_pos; + + for(i=0;i=0;i--){//Get End Position + if(!isspace(str[i])){ + break; + } + } + + end_pos=i; + + str=str.substr(start_pos,end_pos+1); +} + +bool readCfgFile(const char * cfgfilePath,conf_map &configs){ + //Open The Config File and load config to map + std::fstream cfgfile; + cfgfile.open(cfgfilePath); + if(!cfgfile.is_open()){ + std::cout<<"Failed to open the file!"<