【发布时间】:2012-05-20 11:56:11
【问题描述】:
快速问题:为什么这个 while 循环不等待输入? (ing 是一个字符串)
while(ing != "0")
{
cout << "Ingredient name: ";
cin >> ing;
for(int i = 0; i < ing.length(); i++)
{
if(ing[i] == ' ')
ing[i] = '#';
}
fil << ing << ':';
cout << "Quantity: ";
cin >> quant;
fil << quant << ':';
}
它只是垃圾邮件“成分名称:数量:成分名称:数量:...”等等
【问题讨论】:
-
即EOF,其他错误等。一般情况下,您必须检查程序中的返回码
-
我的错,ing 是一个字符串。
-
发布最简单的情况,您可以在其中复制此内容。可能只是 while(ing != "0") { cout > ing; } 将是你的情况。
-
stdin 没有被重定向,是吗?标准输入可能来自管道或完全分离,在这种情况下它不会等待。
-
很可能,
quant是数字,而您输入的不是数字。您必须检查您的直播状态。
标签: c++ loops while-loop