C++ - à plusieurs reprises à l'aide de istringstream

J'ai un code pour la lecture de fichiers avec flotteur de numéros sur la ligne stockées comme ceci: "3.34|2.3409|1.0001|...|1.1|". Je tiens à les lire à l'aide de istringstream, mais il ne fonctionne pas comme je m'attends:

  string row;
  string strNum;

  istringstream separate;  //textovy stream pro konverzi

   while ( getline(file,row) ) {
      separate.str(row);  //= HERE is PROBLEM =
      while( getline(separate, strNum, '|') )  { //using delimiter
        flNum = strToFl(strNum);    //my conversion
        insertIntoMatrix(i,j,flNum);  //some function
        j++;
      }
      i++;
    }

En point marqué, ligne est copié dans flux distinct seulement pour la première fois. Dans la prochaine itération cela ne fonctionne pas et il ne fait rien. J'ai prévu, il est possible d'être utilisé plusieurs fois sans que la construction de nouvelles istringstream objet dans chaque itération.

OriginalL'auteur Naomak | 2010-05-04