[Debutant]Probleme avec getline()
je cherche a découper une string selon un séparateur ',' mais la premiere valeur renvoyée par getline est abérente(elle renvoit des caracteres qui n'ont rien a voir) (toutes celles qui suivent sont correctes).
j'ai aussi remarqué que si je fait un cout << ""; (ou un affichage quelconque avec cout) dans le main avant l'appel de la méthode, le probleme est résolu. J'aimerai comprendre en quoi cette instruction fixe le bug.
voila le code de la méthode qui pose probleme:
Code:
1 2 3 4 5 6 7 8 9 10
| //il y a valeur incohérente stockée dans Array[0], sauf si il y a un cout << ""; dans le main avant
//l'appel de la méthode
string Client::ParsePASV(string Response, string Array[]){
string buff2 = Response.substr(Response.find_first_of('(')+1,Response.find(')') - Response.find('(') - 1);//taille Response pour ne garder que l'expression a decouper
istringstream buff(buff2); //flux
int k = 0;//compteur de mot
for (k=0;k<6;k++)
getline(buff,Array[k],',');//stock dans Array[k] le mot
} |
Merci d'avance...