C语言中如何清空输入缓冲区
方法/步骤
1
最简单的是用fflush()函数。 此函数包含在stdio.h头文件中,用来强制将缓冲区中的内容写入文件。 函数原型:int fflush(FILE *stream) ; 函数功能:清除一个流,即清除文件缓冲区.
2
常用场合: 一、ff(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃 fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。
3
二、scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结 束)。
4
① 遇空格、“回车”、“跳格”键。 ② 遇宽度结束。 ③ 遇非法输入。
5
键盘缓冲区就可能有残余信息问题。 scanf()函数应该只是扫描stdin流,这个残存信息是在stdin中 解决就要在scanf()函数之后加个fflush(stdin)
6
三、写文件的时候 不会马上进行物理磁盘的文件读写,而是先写入缓存,当缓存中内容达到一定程度后再写 FILE *fp=fopen('a.txt','w'); fprintf(fp,'abcdef'); fflush(fp);
上一篇:如何用C语言写第一个程序