问小胖一个问题,输入时,是否会刷新输入缓冲区呢?
我们知道,输入时会刷新输出缓冲区,那么,输入时是否会自动刷新输入缓冲区呢?
另外一个问题是,输入时按ENTER键才会刷新输入缓冲区,是不是这时候缓冲区中的东西才流到程序中?
[解决办法]
输入流是没有刷新的概念的,刷新属于输出流的操作。输入流用的是同步。
[解决办法]
输入流是可以清除的,不是刷新吧。比如你输入了6个字符,一次只读了3个字节,下次再调用scanf的时候,就不会让输入了,直接读取输入缓冲流中的字符,回车也是字符可读,直到输入缓冲流的东西读完。
[解决办法]
<istream>-sync:
http://www.cplusplus.com/reference/istream/istream/sync/?kw=sync
<ostream>-flush:
http://www.cplusplus.com/reference/ostream/flush-free/?kw=flush
[解决办法]
清除就是把输入缓冲区,不管有没有读完,都清掉。重新等着输入。你的刷新也就是这个意思吧。