使用cin或getline()输入空值

问题描述 投票:0回答:1

我正在尝试制作一个输出带有循环的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)
c++ visual-c++ input cin getline
1个回答
0
投票

使用std::string代替char数组,然后使用std::getline()恰好获得一行。

std::getline()

顺便说一句,您似乎正在使用std::string input; while (std::getline(std::cin, input) && input != "c" && input != "C") { std::cout << (rand() % 21 + 1) << '\n'; } using namespace std;

© www.soinside.com 2019 - 2024. All rights reserved.