多语言展示
当前在线:238今日阅读:84今日分享:32

C语言中如何清空输入缓冲区

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);

推荐信息