comment "ré-initialiser" un flux
	
	
		Bonsoir à tous!
J'avais besoin de "caster" un string appartenant à une classe en int et en suivant la faq j'y suis arrivé:
	Code:
	
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:
	
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.