rendered paste body#include "c_config.h"c_config::c_config(){ vconfig.clear(); load();}c_config::~c_config(){ vconfig.clear();}bool c_config::load(){ vconfig.clear(); string tmp; ifstream f; string::size_type pos; f.open("./CONFIG"); if(!f.is_open()) { cerr<<"l'ouverture du fichier ""CONFIG"" a échouée"<<endl; return false; } while(getline(f,tmp)) { pos = tmp.find('=', 0); if(pos==string::npos) { cerr<<"ERREUR: npos a été trouvé pedant la methode load() de la class c_config"<<endl; f.close(); break; return false; } else { m_struct.type = tmp.substr(0, pos); tmp.erase(0,pos+1); m_struct.valeur = tmp; vconfig.push_back(m_struct); } } f.close();return true;}void c_config::reload(){ if(!load()) cerr<<"erreure de load()"<<endl;}string c_config::getcfg(string buffer){ for(int a = 0; a != vconfig.size(); a++) { if(vconfig[a].type == buffer) return vconfig[a].valeur; else { cerr<<"WARNING: dans getcfg buffer ne correspond à aucun type de vconfig.type[a]"<<endl; break; } }}void c_config::setcfg(string buffer1, string buffer2){ ofstream f; f.open("./CONFIG"); if(!f.is_open()) { cerr<<"l'ouverture du fichier ""CONFIG"" a échouée"<<endl; return; } for(int a = 0; a != vconfig.size(); a++) if(vconfig[a].type != buffer1) cerr<<"WARNING: dans setcfg buffer1 ne correspond à aucune type de vconfig.type[a]"<<endl; else { vconfig.at(a).valeur = buffer2; for(int a = 0; a != vconfig.size(); a++) f<<vconfig[a].type+"="+vconfig[a].valeur<<endl; } f.close();}void c_config::addcfg(string buffer1, string buffer2){ ofstream f; f.open("./CONFIG",ios_base::app); f<<buffer1+"="+buffer2<<endl; load();}