广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    fflush()函数的作用

    来源:网络收集  点击:  时间:2024-07-29
    【导读】:

    fflush是一个计算机函数,功能是冲洗流中的信息,该函数通常用于处理磁盘文件。fflush()会强迫将缓冲区内的数据写回参数stream 指定的文件中。

    扩展资料

    其他用法:

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

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

    printf(。。。。。。。。。。。);后面加fflush(stdout);可提高打印效率

    拓展阅读

    注意事项

    C和C++的标准里从来没有定义过 fflush(stdin)。也许有人会说:“可是我用 flush(stdin) 解决了这个问题,你怎么能说是错的呢?”的确,某些编译器(如VC6)支持用 fflush(stdin) 来清空输入缓冲,但是并非所有编译器都要支持这个功能(linux下的gcc就不支持,经我的GCC4.6.2测试),因为标准中根本没有定义fflush(stdin)。

    MSDN 文档里也清楚地写着:

    fflush on input stream is an extension to the C standard (fflush 操作输入流是对C标准的扩充)。

    以下是 C99 对 fflush 函数的定义:

    int fflush(FILE *stream);

    如果stream指向输出流或者更新流(update stream),并且这个更新流最近执行的操作不是输入,那么fflush函数将把任何未被写入的数据写入stream指向的文件(如标准输出文件stdout)。否则,fflush函数的行为是不确定的。fflush(NULL)清空所有输出流和上面提到的更新流。如果发生写错误,flush函数会给那些流打上错误标记,并且返回EOF,否则返回0。

    由此可知,如果 stream 指向输入流(如 stdin),那么 fflush 函数的行为是不确定的。故而使用 fflush(stdin) 是不正确的。

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_1030840.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号06-09 20:10:14  耗时:0.754