Вопрос следующий. В цикле нужно читать строки, содержащие пробелы. Признак конца строки - символ '
'. Пробовал функции cin.getline(), gets(). Результат один - читает один раз, а затем зацикливание. Вот собственно код.
#include
int main()
{
int Exit = 1;
char mes[20];
while (Exit) {
cout << "Введите строку" << endl;
cin.clear();
cin.getline(mes, 19, '
');
cout << "Вы ввели: " << mes << endl << "1 - продолжить
0 - выход" << endl;
cin >> Exit;
}
return 0;
}
Ответ
Классическая проблема. После того, как число было считано в переменную Exit, в буфере потока cin остался непрочитанный символ переноса
. Он-то в последующем чтении из потока все и портит. Его можно убрать, например, так
cin >> Exit;
cin.ignore (7777, '
');
Комментариев нет:
Отправить комментарий