Почему консоль перезаписывает вывод? - PullRequest
0 голосов
/ 04 февраля 2019

Я в начале написания парсера csv-файла для файла с 8000 идентификаторами.Во время работы, после того, как примерно половина идентификаторов прочитана и распечатана, консоль Clion начинает перезаписывать первые выходные данные, так что в конце работы первый идентификатор в моих выходах консолей будет 2626-м вместо первого.Что в моем коде отвечает за это?

При печати каждого прочитанного символа до запуска переключателя вывод завершен.Он также работает с меньшим количеством идентификаторов, когда я сокращаю количество в CSV до 6000.

int main() {

string buffer;
char zeichen;
ifstream eingabe;
eingabe.open("../lib/Daten.csv");
int zustand=0;//0=Token, 1=Werte

if(eingabe){
    while(!eingabe.eof()) {
        eingabe.get(zeichen);
        //cout<<zeichen; // with only this it works
        switch(zeichen){
            case';':
                if(zustand==0){
                    cout<<"Token: "<<buffer<<"; ";
                }
                else if(zustand==1){
                    cout<<"Wert: "<<buffer<<"; ";
                }
                buffer="";
                break;
            case'\n':
                if(zustand==0){
                    zustand=1;
                    cout<<"Token: "<<buffer<<endl;
                }
                else if(zustand==1){
                    cout<<"Wert: "<<buffer<<endl;
                }
                buffer="";
                break;
            default:
                buffer+=zeichen;
                break;
        }
    }

}
eingabe.close();

   return 0;
}

1 Ответ

0 голосов
/ 04 февраля 2019

Ответили все полезные люди в комментариях.Кажется, это связано с Clion

...