Hello les férus,

Je suis en train de coder un geolocaliseur (pour faire simple) et je reçois mes valeurs de LONG et LAT en string du type 3,15535 . Problème c'est que pour faire des calculs avec je dois être en 3.15535 (, remplacé par .) (Et aussi être en double je sais).

J’ai codé en brut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
string trouver = ",";
LON.replace(LON.find(trouver),trouver.length(),".");
LAT.replace(LAT.find(trouver),trouver.length(),".");
Et pas de problème j'arrive à faire ce que je veux faire. Mais ça ne fait pas très "propre" et j'aimerai en faire une fonction ReplaceString du style:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
void ReplaceString(string chaine, string toreplace, string replaceby){
    cerr << chaine << endl;
    chaine.replace(chaine.find(toreplace), toreplace.length(), replaceby);
    cerr << chaine << endl;
}
int main(){
    ReplaceString(LON,",",".");
    ReplaceString(LAT,",",".");
    cerr << "long :" << LON << endl;
    cerr << "lat :" << LAT << endl;
 
}
Mes deux premier cerr me prouve que ma fonction marche mais mon 3eme me montre que rien ne se passe dans mon main (ma "," n'as par changé). Je me rends bien compte que ma fonction ne retourne rien mais je ne sais pas comment la modifier...


A l'aide pls !!

Merci,
ICE