Letzte Zeile beim Einlesen verschwindet



  • Hallo,

    ich lese eine Datei ein, in der pro Zeile zwei Zahlen nebeneinander stehen. Beim Einlesen wird aber immer die letzte Zeile vergessen und ich weiß nicht warum.

    Die Datei könnte so aussehen:

    1 2
    4 6
    10 23

    Die linke Zahl nenne ich "start" und die rechte "duration".

    Mein Code:

    while(procFile >> numRead) { //procFile ist ein ifstream
                    if(counter == 2) {
                            proc.push_back(process(start, duration)); //Klasse, die die beiden Zahlen verwaltet
                            counter = 0;
                    }
                    if(!param) {
                            start = numRead;
                            param = !param;
                    }
                    else {
                            duration = numRead;
                            param = !param;
                    }
                    counter++;
    }
    

    Lasse ich mir nun die Zahlen wieder ausgeben, so lautet die Ausgabe:

    1 2
    4 6

    Warum fehlt 10 23?

    Danke


  • Mod

    Welchen Wert hat denn wohl counter, wenn die 23 gelesen wurde? Was soll überhaupt dieses Konstrukt? Wieso nicht

    while(stream >> wert1 >> wert2)
    {
      dingens.push_back(Klasse(wert1,wert2));
    }
    

    ?


Anmelden zum Antworten