为什么控制台会覆盖输出?

时间:2019-02-04 12:32:55

标签: c++ clion

我正开始为大约8000个Ids的文件编写一个csv文件解析器。运行时,在读取并打印了大约一半的Id之后,Clion控制台开始覆盖第一个输出,以便在运行控制台时,第一个Id输出结束时是第2626个而不是第一个。我的代码中负责什么?

在开关启动之前打印每个读取的字符时,输出完成。当我将csv中的IDs缩短至6000左右时,它也可以使用较小的ID。

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 :(得分:0)

在评论中所有有帮助的人的回答。它似乎与Clion有关