Cin,cin.get和我无法理解的东西

问题描述 投票:0回答:1

我可以这样写一个循环是这样的权利

char temp;
while(cin.get(temp)) {
...
}

并且当输入流中没有符号时它将停止,并且如果流为空将不会执行?好吧,我知道它不是真的,当我尝试时,bc-它的作用与cin >> temp相同。然后,我应该如何知道流为空并且必须停止此循环?

c++ cin
1个回答
0
投票

overload of get that you use返回对流对象的引用。

流类具有get,它在错误时返回a boolean conversion operator文件结尾

因此,如果按文件键序列的结尾(在Linux或macOS等POSIX系统上为Ctrl-D,在Windows上为新行,则为Ctrl-Z)流和循环条件将变为false,循环结束。

如果要在特定字符上结束循环,请说换行符,则需要在以下条件下添加循环:

false
© www.soinside.com 2019 - 2024. All rights reserved.