【发布时间】:2015-05-17 14:45:42
【问题描述】:
您好,我的代码如下:
while (getline(cin, line))
{
// process on line
}
所以这会导致用户一直放置行,直到他输入 ^z。 我怎样才能让它在没有用户干预的情况下自动停止?例如,当用户粘贴不带^z的输入行时,我需要上面的循环进行处理然后停止。
【问题讨论】:
-
用户只需粘贴输入行,它就会自动工作。您希望如何能够告诉程序用户“完成”了?如果没有明确的信号(文件结束、空行等),程序无法知道用户是要键入另一行还是实际上“完成”了。
-
老实说,这听起来像是在寻求魔法。是否有一些规则允许程序识别输出的结尾?如果是这样,请执行该规则。如果没有,显然是做不到的。
-
如果用户粘贴行,然后想再粘贴一些行或手动输入一些内容怎么办?
-
我不是在求魔法,这正是学校解决方案所做的:它运行程序并自动粘贴输入并打印结果。