提问人:iko 提问时间:8/20/2023 最后编辑:iko 更新时间:8/20/2023 访问量:52
清除 C 语言中的 cmd 输入
clear cmd input in C
问:
例如,我运行程序:
int a = 0;
while(a < 1000000000){
a++;
}
此时,我将输入终端:
a\na\na\na\na\na\n
显然,我输入的文本不会被读取,所以当程序停止时,我得到这样的东西:
'a' is not recognized as an internal or external command,
operable program or batch file.
'a' is not recognized as an internal or external command,
operable program or batch file.
如何清除此输入,是否可能?
我尝试在此循环之后编写,或者在第二种情况下,它等待 EOF 并且我没有提供它,
它还表明我输入了一些东西:fseek(stdin,0,SEEK_END);
while(getchar() != EOF);
C:....>test
a
a
a
a
a
帮助我解决这个问题,我想补充一点,除了标准库之外,我还可以使用 <windows.h>
答:
4赞
Ted Lyngmo
8/20/2023
#1
您可以在退出程序之前致电:FlushConsoleInputBuffer
#include <Windows.h>
int main(void) {
int a = 0;
while(a < 1000000000){
a++;
}
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE)); // last thing you do
}
评论
1赞
iko
8/20/2023
是的,它对我有用。谢谢
评论
int a
a
int a
int i
'a'
not recognized as an internal command...