Проблемы зацикливания в C ++ с \ n

0

То, что я пытаюсь сделать, это создать цикл while, который будет зацикливаться до тех пор, пока "\n" не будет введен. Проблема в том, что он запрашивает мой ввод один раз, а затем просто заканчивается. Вот мой код

paliTester = cin.get();
while (paliTester != "\n")
{
   paliTester = cin.get();
}
  • 0
    ах, я просто понял, что это может помочь сказать тип данных. это строка
Теги:
loops
while-loop
newline

2 ответа

3
Лучший ответ

Проблема не в коде, проблема в том, что консоль предоставляет вам ваш вход. Сегодня все консоли предоставляют возможность редактирования линии. Это означает, что вы можете ввести команду, удалить ее часть и переписать столько раз, сколько хотите. Пока вы не нажмете ENTER, в программе не будет введено никаких сообщений, ожидающих его чтения. Это означает, что нет никакого способа предоставить какой-либо контент вашей программе, не нажимая ENTER, а ENTER означает, что ваша программа получит "\n".

  • 0
    куча помогла, спасибо!
0

Вероятно, потому что \n - это новая строка escape-последовательности. Вместо этого используйте "\\n". Также попробуйте это вместо get().

 cin >> paliTester;
 while (paliTester != "\\n")
 {
  cin >> paliTester;
 }
  • 0
    ах, я просто закончил тем, что использовал вместо этого #, это спасло меня от головной боли. Кроме того, мне нужно .get (), потому что я использовал отдельные буквы для стека: P
  • 0
    но спасибо хотя!
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню