C++ 如何清除代码块中的缓冲区?

C++ 如何清除代码块中的缓冲区?,c++,windows,codeblocks,C++,Windows,Codeblocks,我正在使用代码块,我需要一种良好且简单的方法来清除缓冲区。我正在使用conio.h库中的getch()进行输入。尝试以下未经测试的代码: // send the data to cout here ... // clear the console input: while(_kbhit()) _getch(); // Fetch a single key: char ch = _getch(); u可以使用fflush(标准输入法);清除流。fflush(stdout)?还是我误解了你的问题

我正在使用代码块,我需要一种良好且简单的方法来清除缓冲区。我正在使用conio.h库中的getch()进行输入。

尝试以下未经测试的代码:

// send the data to cout here
...
// clear the console input:
while(_kbhit()) _getch();

// Fetch a single key:
char ch = _getch();

u可以使用fflush(标准输入法);清除流。

fflush(stdout)
?还是我误解了你的问题?嗯,似乎不管用。让我更具体一点:我用cout在屏幕上输出一些文本。我使用sleep()使其缓慢输出。在输出之后是getch()。我需要的是一些东西来清除缓冲区。因此,如果我在文本输出时意外地随机输入,缓冲区将在getch()之前被清除,因为在getch()之后,我会清除屏幕。Thx in advanced您使用的是什么操作系统?我通过使用
conio.h
推断出它是某种微软操作系统。这是正确的吗?事实上,它是一个依赖于windows的库。我使用的windows XP正是我想要的。非常感谢。顺便说一句,我刚刚使用了(\u kbhit())\u getch();因为我已经在while循环后调用了getch()函数。希望您不介意我在程序中使用这段代码,是吗?不客气。您可以随意使用该代码。如果我的答案解决了你的问题,请记住“接受”我的答案。通常,向上投票所有有用的答案(单击向上的三角形)并接受最有用的答案(单击复选标记)。