为什么控制台会覆盖输出
Why does the console overwrite output?
我正在为一个大约 8000 个 ID 的文件编写一个 csv 文件解析器。运行时,在读取和打印大约一半的 Id 后,Clion 控制台开始覆盖第一个输出,以便在运行结束时,控制台中的第一个 Id 输出是第 2626 个,而不是第一个。我的代码中有什么原因造成的?
在交换机启动之前打印每个读取字符时,输出完成。当我将 csv 中的数量缩短到 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;
}
评论中所有乐于助人的人都回答了这个问题。它似乎与克里昂有关
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 请解释"函数1(p1,p2,p3);"的输出
- C++:将控制台输出存储在宏中更好吗
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何让控制台输出覆盖控制台而不是纯文本输出?
- 如何使用方法覆盖在输出屏幕上显示堆栈整数值
- 我试着了解方法覆盖是如何工作的,不知道为什么输出 2
- (C++)重载运算符<<,如果我不使用endl,则覆盖输出
- 为什么控制台会覆盖输出
- 覆盖运算符<< 对于控制台输出不适用于成员变量
- 输出字符串使用 C++ 覆盖 Linux 终端上的最后一个字符串
- 文件输出覆盖第一行 - C++
- 暂时覆盖输出流行为
- 我似乎无法在qt创建器中打印几行数据。程序覆盖除最后一行之外的所有输出
- 如何覆盖一般malloc,所以我得到行号打印在内存泄漏打印输出
- 当输出放到指定的文件行中时,会覆盖额外的文件行
- 输出文件覆盖不正确
- 如何输出到控制台,并在不清除屏幕和重写所有内容的情况下覆盖文本
- C++ 覆盖 For 循环中的输出数字