while(getline(data, word, '\n')){//seperates by line
ss<<word; // output1: Chicken, for sale, 60
// output2: Microwave, wanted, 100 (and so on)
while(getline(ss, word, ',')){//seperates by individual words + space
// output1: Chicken
// output2: for sale
// output3: 60
if(word[0]==' '){ //removes space in 2 and 3
word.erase(0,1);
}
if(wordindex==0){
board[i].object=word;
wordindex++;
}
else if(wordindex==1){
board[i].type=word;
wordindex++;
}
else if(wordindex==2){
board[i].price=word;
wordindex=0; //resets index to 0 for next line
i++; //moves to next struct in array
}
}
}
Die zweite getline-Schleife läuft nur einmal für den ersten Eingang: chicken, for sale, and 60
und erreicht nicht die zweite. Ich denke, Word-Index ist immer auf 0
eingestellt, so sollte es kein Problem sein. Auch die erste getline()
gibt alle Daten vollständig aus, so etwas verursacht die zweite getline()
verwirrt werden. Ich kann einfach nicht sehen, was es ist.Bug: Warum wird diese Schleife nur einmal durchlaufen?
Sie können die Debugging-Software, die mit ziemlicher Sicherheit mit Ihrer Entwicklungsumgebung kam herauszufinden, brutal wirksam zu sein, was hier schief ging. – user4581301
Außerdem hat ein anderer Benutzer früher eine Frage mit einem ähnlichen Analyseproblem gestellt. Es stellte sich heraus, dass es einfacher war, mit '>>' auf die Leerzeichen zu setzen und die Kommas zu beschneiden. Zum einen hat es die ganze Zahl eine ganze Zahl behalten. http://StackOverflow.com/a/41840993/4581301 – user4581301
Meine Analyse ist ziemlich einfach, wie es wirklich ist. – grilam14