xcode吧 关注:8,398贴子:34,060
  • 1回复贴,共1

c语言fflush(stdin)不能用是为什么?

只看楼主收藏回复

为什么用了fflush(stdin)没有作用,输入流没有被清空?好像之前我的Xcode6.0都可以的,是不是升级后不兼容了,希望有会的帮我解决下这个问题,试过用vc++可以用fflush。


IP属地:广东1楼2015-10-11 13:49回复
    你确定6能用?
    某些编译器(如VC6)支持用 fflush(stdin) 来清空输入缓冲,但是并非所有编译器都要支持这个功能(linux 下的 gcc 就不支持),因为标准中根本没有定义 fflush(stdin)。
    出处:
    http://www.cnblogs.com/xiaouisme/archive/2012/07/07/2580478.html
    解决方法:
    // scanf("%*[^\n]"); //方法一
    // setbuf(stdin, NULL); //方法二
    // while(getchar() != '\n') continue; //方法三
    // rewind(stdin); //方法四
    出处:
    http://blog.csdn.net/chendehao001/article/details/51039667


    2楼2016-08-22 16:53
    回复