我有以下循环。它应该读取数字直到
EndOfFile
,或者用户输入 -999。int arr[100];
int index;
for (index = 0; index < 100; index++)
{
cin >> arr[index];
if (!cin)
{
cin.clear();
index--;
continue;
}
if (arr[index] == -999)
{
break;
}
}
当用户输入无效的东西,比如一些 char
,这个循环会持续不断地重复,而不清除错误状态或停止。
1024
个字符或找到' '
(空格)。然而,用户可能不会在末尾输入空格,并且输入将继续到 1024 个字符! - user5863991024
。 - Nawazstd::numeric_limits<streamsize>::max()
代替1024
。 - Nawaz