Need help with getline()
c++, getline
Solution
The `getline(cin, str);` reads the newline that comes after the number read previously, and immediately returns with this "line". To avoid this you can skip whitespace with `std::ws` before reading the name:
cout << "Enter number:";
cin >> number;
cout << "Enter name:";
ws(cin);
getline(cin, str);
...
Note that this also skips leading whitespace after the newline, so `str` will not start with spaces, even if the user did input them. But in this case that's probably a feature, not a bug...
Problem
Is there a reason why if in my program I am asking the user for input, and I do: ``` int number; string str; int accountNumber; cout << "Enter number:"; cin >> number; cout << "Enter name:"; getline(cin, str); cout << "Enter account number:"; cin >> accountNumber; ``` Why after inputting the first number, it outputs "Enter Name", followed immediately by "Enter Account Number" before I even get to input my "str" for the getline(cin, str) line? Thanks!