当前位置: 代码迷 >> 综合 >> fflush,getchar(),setbuf()是时候清空你的缓存区啦
  详细解决方案

fflush,getchar(),setbuf()是时候清空你的缓存区啦

热度:72   发布时间:2024-01-31 01:32:03.0

fflush();win系统下的清空缓存区函数,放在liunx下不会报错,但是没有鸟用

getchar():通过接受滞留在输入流中的内容达到清空缓存的效果,配套函数:while((num = getchar()) != '\n');

setbuf:setbuf(stdin,NULL);在liunx系统下很舒服

内容比较少,那就来几行代码吧(liunx)

代码演示:

#include <stdio.h>

int main()

{

        char buff[128];

        char buf[128];

        scanf("%s",buf);

        scanf("%s",buf);

        printf("%s\n",buf);

        printf("%s\n",buff);

}

输入a b c d

不会进入到第二个scanf()中

打印

a

b

然后在其中加入清楚缓区的函数就会有改善

  相关解决方案