您好我的代码如下:
while (getline(cin, line))
{
// process on line
}
所以这会导致用户继续放线,直到他输入^ z。 我怎样才能让它在没有用户干预的情况下自动停止?例如,当用户在没有^ z的情况下粘贴输入行时,我需要上面的循环来进行处理,然后停止。
答案 0 :(得分:1)
std::getline
将提取,直到:
std::string::max_size
,设置了failbit 您无法让用户复制/粘贴,并希望程序自动知道用户已完成。如果输入是其他内容,如文件,该怎么办?
RE评论:您仍然可以从文件中输入管道,程序无法区分。
# will stop extraction via EOF
cat file | ./a.out