Is there any good reason why:
std::string input;
std::getline(std::cin, input);
the getline call won't wait for user input? Is the state of cin messed up somehow?
See Question&Answers more detail:osIs there any good reason why:
std::string input;
std::getline(std::cin, input);
the getline call won't wait for user input? Is the state of cin messed up somehow?
See Question&Answers more detail:osMost likely you are trying to read a string after reading some other data, say an int
.
consider the input:
11
is a prime
if you use the following code:
std::cin>>number;
std::getline(std::cin,input)
the getline
will only read the newline after 11 and hence you will get the impression that it's not waiting for user input.
The way to resolve this is to use a dummy getline
to consume the new line after the number.