如何在没有中断的情况下同时使用cin和cout?

时间:2012-03-02 09:16:47

标签: c++ time cout cin

我正在编写一个win32控制台应用程序,它有两个线程,一个继续使用cout向控制台写入内容,另一个继续使用cin尝试获取一些输入。两者都运作良好,我没有丢失数据,除了它不漂亮...有时我正在输入其他线程cout的东西,这两个东西在一起。 无论如何我可以将它们分开吗?如果现在要做的话我必须打开一个窗口并将cout流重定向到它,我真的不想这样做。 ..

1 个答案:

答案 0 :(得分:0)

确保您逐个接收输入字符。然后,只要你需要输出一些东西,首先移动输出光标,然后使用回车符'\ r'来回显当前行的开头

然后确保输出通过在必要时用空格填充来覆盖当前输入。

最后打印换行符以开始换行并重写当前输入

std::cout << "\r" << output << padding << "\n" << currentinput;