流使函数永久运行
答
标准输入。
答
ifstream的( “的/ dev /随机”) ifstream的( “的/ dev /零”)
答
如果流遇到一个错误,就会停止返回/接受信息。如果你的函数正在等待流出的东西,它将永远旋转。
使用if (cin)
(将数据流转换为bool
)以测试错误情况。或者,在程序或流初始化时调用cin.exceptions(ios::badbit)
,以便错误条件引发异常而不是悄悄旋转。
呼叫cin.clear()
(或任何流),随后cin.ignore()
如,删除违规输入,如果程序是能够从这种错误中恢复。
+0
不,不......不,不......那个答案太严重了。问题是“什么样的流”,而不是什么流状态。无论如何,我的+1 ;-) – 2010-08-30 12:24:34
这个问题完全没有任何细节。目前的形式无法回答。 – Omnifarious 2010-08-30 10:59:41
听起来像面试问题给我。 – xtofl 2010-08-30 11:00:25
为什么你需要一个流?把'for(;;);'放在函数的最后,这会让它永远运行。 – 2010-08-30 11:08:56