2 qq 33840881 qq_33840881 于 2016.04.28 23:57 提问

怎么解决输入-1时被当做EOF问题

循环输入一些整数并把这些整数存到一个容器中,当输入ctrlz时跳出循环,那么怎么解决当输入-1时被当做ctrlz而跳出循环

4个回答

caozhy
caozhy   Ds   Rxr 2016.04.29 00:00

不可能啊,你程序是怎么判断的,贴出代码看下。

angelfantasy
angelfantasy   2016.04.29 00:31

int i;
while (cin >> i)
std::cout << "The input is: " << i << std::endl;

这种写法就可以
输入-1只是得到的-i为-1,while的条件不为fasle
而输入ctrl+z则导致while的条件为false从而退出循环

qq423399099
qq423399099   Ds   Rxr 2016.04.29 10:50

只能自己在程序里做个if的判断,读到的数是-1时break;

qq_33840881
qq_33840881   2016.04.29 23:54

可以了while(cin>>n){
x.push_back(n);
}
原来我加了一个if(n==EOF) break;
这样当输入-1时会跳出循环,现在知道了,编译器能自动识别-1和EOF.
谢谢各位了!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!