这里有点新的C ++。是否有可能做以下事情?
int temp;
while(cin >> temp != -9999){//Do something with temp}
我无法使用那些确切的代码,但我觉得这样的事情应该是可能的。
修改 尝试了以下内容:
while(cin.getline(temp) != -9999){//Do something with temp}
仍然没有。 getline()
仅适用于字符串吗?
答案 0 :(得分:6)
是的,确实如此:
while (std::cin >> temp && temp != -9999)
但是,C ++中的运算符优先级很烦人,所以我会使用:
while (std::cin >> temp) {
if (temp == -9999)
break;
原因是std::cin
是一个流。因此,从中读取会返回流,以便您可以执行以下操作:
std::cin >> temp >> temp2;