2017-09-28 104 views
-1

我正在读取控制台上“while”的整数,当我输入空字符串时如何停止阅读?关闭控制台输入C++

while (cin >> index) 
{ 
    if (index >= v.size() || index < 0) 
    { 
     break; 
    } 
    n_v.push_back(v[index]); 


} 

I want it to break when an empty string is read

我将不胜感激,如果有人帮我。

+0

@ user0042不是真的,因为“空”输入是一个换行符,而换行符是空格,默认情况下(非字符)输入操作会跳过前导空格,因此它会被阻止。 –

+0

读取字符串而不是int,并检查它是否为空 – user463035818

回答

0

有两种方法来解决你的问题:第一个阶段是用户进入最终的文件组合键(通常CTRL-Z在Windows和CTRL-d在Linux或MacOS的) 。

另一种方法是逐行读取输入的字符串,并检查该行(无空格)是否为空。如果没有,则尝试将字符串转换为数字并继续执行代码。