1. 使用 fflush(stdin); 或 rewind(stdin); 均可起到清空键盘缓冲区的作用,这两个函数均包含在stdio.h这个头文件中。但它们只适用于Windows系统。
2.最具移植性的做法,使用以下函数:
void setbuf(FILE *restrict stream, char *restrict buf);
setbuf(stdin, NULL);
以上函数同时适用于Windows和Linux系统。

本文讨论了如何在Windows和Linux系统上清除键盘缓冲区,并提供了适用于两种操作系统的移植性解决方案。重点介绍了`fflush(stdin)`和`rewind(stdin)`函数在Windows系统上的用法,以及更通用的`setbuf(stdin, NULL)`函数在多平台环境下的应用。
3905

被折叠的 条评论
为什么被折叠?



