• c语言fflush()


    fflush用于清空缓冲流,虽然一般感觉不到,但是默认printf是缓冲输出的。
    fflush(stdout),使stdout清空,就会立刻输出所有在缓冲区的内容。

    fflush(stdout)这个例子可能不太明显,但对stdin很明显。
    如下语句:
    int a,c;
    scanf("%d",&a);
    c=getchar();
    输入:
    12(回车)
    那么 a=12 ,c= '\n'
    而:
    int a,c;
    scanf("%d",&a);
    fflush(stdin);
    c=getchar();
    输入:
    12(回车)
    那么a=12, c暂时未得到输入值,还需要再输入c,因为getchar也是缓冲输入,'\n'本还在缓冲区,但是被清空了。

    另外fflush不能作用于重定向输入流。fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃。fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。

  • 相关阅读:
    为公司转型做的一些准备——数据库设计技术
    jdbc多种实现方式
    JNuit
    JDBC初体验
    jsp原理
    jsp登陆
    jsp homework(*)
    集合(5)
    集合(4)
    集合(3)
  • 原文地址:https://www.cnblogs.com/zqiang3/p/2941406.html
Copyright © 2020-2023  润新知