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

2025-10-09 08:34:11

1、最简单的是用fflush()函数。

 

此函数包含在stdio.h头文件中,用来强制将缓冲区中的内容写入文件。

 

函数原型:int fflush(FILE *stream) ;

 

函数功能:清除一个流,即清除文件缓冲区.

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

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

2、常用场合:

 

一、ff(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃  

 

    fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。

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

3、二、scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结    束)。 

 

 

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

4、 ①   遇空格、“回车”、“跳格”键。

 

  ②   遇宽度结束。

 

  ③   遇非法输入。

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

5、键盘缓冲区就可能有残余信息问题。

 

scanf()函数应该只是扫描stdin流,这个残存信息是在stdin中

 

解决就要在scanf()函数之后加个fflush(stdin)

 

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

6、三、写文件的时候 不会马上进行物理磁盘的文件读写,而是先写入缓存,当缓存中内容达到一定程度后再写

 

FILE *fp=fopen("a.txt","w");

 

fprintf(fp,"abcdef");

 

fflush(fp);

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢