关于结束符EOF和fflush(stdin)的见解

来源:互联网 发布:云盘软件推荐 编辑:程序博客网 时间:2024/05/24 05:48

         今天学习C语言偶然遇到要用结束符EOF和清空缓冲区的fflush(stdin)函数,在网上学到了一些,今天就总结一下个人见解吧。

  结束符EOF,用来 标志结束。Ctrl+z(即^z)不产生内容,不存入缓冲区,前面无内容按下后回车才有效果;若有内容需要回车结束前面内容存入缓冲区,再按下后回车才能标识结束。因为在前面有内容时,cin.getch()函数直接读取内容,而ctrl+z不存入,因此直接被忽略掉,需要回车结束输入,再按下ctrl+z标志结束。详细可见文章:http://blog.csdn.net/kuangpeiyu/article/details/9234477

  fflush(stdin)函数是用来清空输入缓冲区内容,随着时代更新,此函数也逐渐不兼容新版编程软件。该函数在VS2013和VC 6.0还是可以用,在VS2015已经没用了。个人推荐使用rewind(stdin)函数,指针指向首地址,解决输入超出被下次输入区录入。详情可见:http://blog.csdn.net/veniversum/article/details/62048870