Bonjour,
Je suis actuellement entrain de coder une petite classe à l'instar du RessourceBundle de java (je sais que cela doit exister mais à défaut d'avoir trouver quelquechose rapidement...).
Pour faire cela, je parcours le fichier et je découpe chaque ligne en deux en fonction de la position du caractère "=" :
1 2 3 4 5 6 7 8
|
size_t pos = ligne.find("=",0);
if (pos != string::npos) {
string key = ligne.substr(0,pos);
string value = ligne.substr(pos+1,ligne.length());
cout << "Clé : " << key << " | Valeur : " << value << "*" << endl;
mapSection[currentSection][key] = value;
} |
En sortie ma chaine value est un peu pourrie. Par exemple à l'affichage dans la console Linux :
* é : voipFileName | Valeur : /users/u1xyt/soap/nuts_soap_server/vip_ph.dat
On retrouve l'étoile afficher dans la ligne "cout" affiché en début de ligne...
J'avoue que je n'y comprend pas grand chose. J'ai essayé de changer ligne.length() par ligne.length()-1 ou -2 en penseant à un problème de fin de ligne mais sans succès...
Si quelqu'un à une idée de l'origine du problème, un petit éclairage serait le bienvenue.
Merci d'avance
Partager