Bonsoir à tous!

J'avais besoin de "caster" un string appartenant à une classe en int et en suivant la faq j'y suis arrivé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
std::istream& operator>>(std::istream& istr,CCoord& c)
{
    char col;//les futurs coordonnees
    int y;    //****************************
    istr>>col>>y;//Leurs affectations
 
    //test aff
    std::cout<<"x = "<<col<<"\ty = "<<y<<std::endl;
 
    int icol;  //pour le "cast" du char en int
    icol=int(col);//*****************************
 
    //nouvelle affectation de c
    c=CCoord(icol-96,y); //col-96 pour transposer sur la valeur numeraire de la colonne
    std::cout<<"coord: ";c._affiche();std::cout<<std::endl;
    return istr;
}
seulement voila je ne parviens pas à utiliser ce code plusieurs fois consécutivement. Voici la portion de code qui bloque: (m_isstr est un std::istringstream membre d'une classe)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
case LONGMVT:std::cout<<"Traitement du LONGMVT"<<std::endl;

        //repartition des elements de la chaine en plusieurs strings
        m_scoordo.assign(m_flux,0,2);m_scoordc.assign(m_flux,2,2);

        //separation des valeurs par un espace
        m_scoordo.insert(1," ");m_scoordc.insert(1," ");

        //test aff
        std::cout<<"m_scoordo : "<<m_scoordo<<"\tm_scoordc : "<<m_scoordc<<std::endl;

        //on affecte les membres m_coordx via m_isstr (istringstream)
        m_isstr.str(m_scoordo);m_isstr>>m_coordo;
        m_isstr.str(m_scoordc);m_isstr>>m_coordc; --> les valeurs extraites içi 
sont chaotiques. Si je commente la ligne,
le code marche...une fois. Puis je me retrouve face au même problème.

        std::cout<<"Test aff: coord org = ";m_coordo._affiche();
        std::cout<<"\tcoord cib = ";m_coordc._affiche();
        std::cout<<std::endl;

        break;
J'ai essaiyé de "ré-initialiser le istringstream avec .str("") mais rien n'y fait. Je continue de chercher mais si quelqu'un sait...merci.