Почему 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]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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