使用 cin 或 getline() 输入空值

Input a null value with cin or getline()

本文关键字:输入 空值 getline cin 使用      更新时间:2023-10-16

我正在尝试制作一个程序,通过循环输出 1 到 21 之间的随机数。要退出循环,您必须使用数字"c"或"C",我想通过仅按 Enter 来让它继续循环,但 cin 函数不接受空输入。你能帮我吗?

代码是这样的:

char input[100];
int number;
do{
//reset the variable
input[]=null;
cin>>input;
if(input){
number=rand()%21+1;
}
cout>>number;
} while (input)

使用std::string而不是 char 数组,然后使用std::getline()只获取一行。

std::string input;
while (std::getline(std::cin, input) && input != "c" && input != "C") {
std::cout << (rand() % 21 + 1) << 'n';
}

顺便说一句,看起来您正在使用using namespace std;.别这样。