I’m working with strings in C++. I recently came across a problem when entering strings. I’m using cin >> string; to get my string as user input. When the user enters a space into the string, the next input is automatically filled out with the remaining letters, or sometimes left blank. As the next input string is often an integer, this will result in an unpleasant bug. What’s a good fix for this?
EDIT: Here’s the current code:
cout << "Please print the enemy's name: ";
getline(cin, enemyName);
You probably want to get all input into the string up until the user presses enter. In that case, it can be said that what you really want is to read a “line” of text. To do that, you’d use
std::getline, like so:That is assuming enemyName is defined as an std::string. If enemy name is a c-style charater array, you’d want to use cin.getline, like this:
But, try to avoid using C-style character arrays at all in C++.