All pastes #248413 Raw Edit

7 moi

public cpp v1 · immutable
#248413 ·published 2006-11-14 17:18 UTC
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();}