Как принимать ввод с потока до символа новой строки?

В C++, для чтения ввода с потока до символа новой строки, можно использовать функцию getline() из стандартной библиотеки (iostream).

Функция getline() имеет две формы:

1. getline(поток, строка);
2. getline(поток, строка, разделитель);

В первой форме, функция принимает ввод с указанного потока и сохраняет его в указанную строку (std::string). Ввод происходит до символа новой строки, который автоматически удаляется.

Вторая форма позволяет указать разделитель, до которого нужночитать ввод. Если разделитель задан, то все символы, включая сам разделитель, сохраняются в строке.

Вот пример использования функции getline() для чтения ввода с потока до символа новой строки:

#include <iostream>
#include <string>

int main() {
  std::string input;
  
  // Считывание ввода с консоли с помощью getline()
  std::getline(std::cin, input);
  
  // Вывод введенной строки
  std::cout << "Вы ввели: " << input << std::endl;
  
  return 0;
}

В этом примере, ввод с потока std::cin считывается в переменную input с помощью функции getline(). После этого, строка input выводится на экран.

Если вы хотите указать разделитель (например, символ пробела), то можно использовать вторую форму функции getline(). Например:

#include <iostream>
#include <string>

int main() {
  std::string input;
  
  // Считывание ввода с консоли с помощью getline(),
  // разделенного пробелом
  std::getline(std::cin, input, ' ');
  
  // Вывод введенной строки
  std::cout << "Вы ввели: " << input << std::endl;
  
  return 0;
}

В этом примере, функция getline() считывает ввод с потока std::cin до первого символа пробела и сохраняет его в переменной input.