Почему std :: cin.getline () пропускает второй вход при использовании подряд с массивом символов фиксированного размера?C++

Программы на C++. Форум разработчиков
Anonymous
Почему std :: cin.getline () пропускает второй вход при использовании подряд с массивом символов фиксированного размера?

Сообщение Anonymous »

Проблема: < /strong>
Я пытаюсь прочитать имя и десерт, используя std :: cin.getline () в C ++. Однако, прочитав имя, программа не позволяет мне вводить десерт, хотя я называю std :: cin.getline () для обоих входов. < /P>
Первый Std :: cin.getline (), кажется, потребляет весь вход, но когда дело доходит до чтения второго ввода (десерта), программа пропускает его. Это происходит даже когда я использую std :: cin.ignore () для очистки входного буфера. Введите строку, которая больше символов, чем размер массива, чтобы наблюдать, что происходит. < /p>

Код: Выделить всё

#include 
#include [*]

int main() {
const short arrSize = 20;
char usrName[arrSize];
char dessert[arrSize];

// First input: Name
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79448300/why-does-stdcin-getline-skip-the-second-input-when-used-consecutively-with-a[/url]

Вернуться в «C++»