All pastes #250170 Raw Edit

Divers

public cpp v1 · immutable
#250170 ·published 2006-11-16 18:05 UTC
rendered paste body
#include "c_config.h"c_config::c_config(){  vconfig.clear();  load();}c_config::~c_config(){  vconfig.clear();}void 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;	}  f.seekg(0, ios_base::beg );  while(getline(f,tmp)) {	pos = tmp.find('=', 0);	if(pos==string::npos) {		cerr<<"ERREUR: la foncttion load() a échouée (npos trouvé)."<<endl;		f.close();		break;		return;		}	else {		m_struct.type = tmp.substr(0, pos);		tmp.erase(0,pos+1);		m_struct.valeur = tmp;		vconfig.push_back(m_struct);		}	}  f.close();}void c_config::reload(){  load();}string c_config::getcfg(string buffer){  for(int a = 0; a != vconfig.size(); a++)	if(vconfig[a].type == buffer) return vconfig[a].valeur;  return "ERREUR: la fonction getcfg() a échouée ("+buffer+" n'a pas été trouvé dans vconfig[]).";}void c_config::setcfg(string buffer1, string buffer2){  ofstream f;  int b;  f.open("./CONFIG",ios_base::trunc);  if(!f.is_open()) {	cerr<<"l'ouverture du fichier ""CONFIG"" a échouée"<<endl;	return;	}  for(int a = 0,b = -1; a != vconfig.size(); a++) {	if(vconfig[a].type == buffer1) {		b = 1;		vconfig.at(a).valeur = buffer2;		for(int a = 0; a != vconfig.size(); a++) f<<vconfig[a].type+"="+vconfig[a].valeur<<endl;		break;		}	}  if(b==-1) cerr<<"ERREUR: la fonction setcfg a échouée ("<<buffer1<<" de setcfg() n'a pas été trouvé dans vconfig[])."<<endl;  f.close();}void c_config::addcfg(string buffer1, string buffer2){  ofstream f;  f.open("./CONFIG",ios_base::app);  if(!f.is_open()) {	cerr<<"l'ouverture du fichier ""CONFIG"" a échouée pendant addcfg()"<<endl;	return;	}  f<<buffer1+"="+buffer2<<endl;  load();  f.close();}