Bonjour,
j'ai besoin de convertir des string en float à plusieurs reprises. Pour tester, j'ai écrit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
std::string str_t("37.2"), str_h("14.1");
    float tp1, tp2;
    std::stringstream ss;
    ss.str(str_t);
    cout << "ss = " << ss.str() << endl;
    ss >> tp1;
    cout << "tp1 = " << tp1 << endl;
 
    ss.str(str_h);
    cout << "ss = " << ss.str() << endl;
    ss >> tp2;
    cout << "tp2 = " << tp2 << endl;
et la réponse est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
ss = 37.2
tp1 = 37.2
ss = 14.1
tp2 = 1.95639e-38
La seconde fois, ss est correctement initialisé mais la conversion foire systématiquement que je le flush, l'efface avec ss.str("");
Entre deux initialisation du flus, y a t'il une manip spéciale pour bénéficier d'une conversion correcte ?

Merci.