Bea*_*sly 6 c++ eclipse console flush
早上好,
Eclipse IDE for C/C++ Developers出了问题.
我正在编写一个用于转换字符串的小工具.虽然测试某些点eclipse停止提供控制台输出.例如:
cout<<"test";
不显示.
但并不是每个地方......另一个例子:
// File path as argument
int main(int argc, char* argv[]) {
if (argc != 2) {
cout
<< "ERROR: Wrong amount of arguments! Only one allowed...\n";
cout << "\n" << "Programm closed...\n\n";
exit(1);
}
CommandConverter a(argv[1]);
cout<<"test";
a.getCommandsFromCSV();
cout<<"test2";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果缺少参数,则会正确显示错误消息.但如果参数存在且程序继续测试输出:
COUT << "测试";
COUT << "测试2";
没有显示......
我错过了一些明显的东西?
提前致谢!
zvr*_*rba 11
你需要用换行结束输出字符串,例如:`cout <<"test \n"``.原因是标准输出被缓冲,缓冲区在换行符上刷新.可能存在一种方法来刷新cout缓冲区而不输出换行符,但我不清楚它.可能包括访问底层streambuf(通过rdbuf方法).