Практически для любой интерактивной программы на С++ необходим способ ввода этих самых данных.
Потоковый ввод с приведением типа
В одном из прошлых постов мы рассмотрели объект потока вывода cout. Аналогичный объект существует и для потока ввода. Он называется cin. При использовании оператора cin необходимо использовать операторыввода данных >>.
В данном коде объявлены переменная x и y, которые затем вводятся с клавиатуры и выводятся на экран. Примечательно, что переменные сразу преобразуется в корректный числовой тип данных int.
Чтение данных до EOF
EOF (end of file) — конец файла. В компьютерной терминологии является индикатором операционной системы, означающим, что данные в источнике закончились (википедия).
Для считывания данных до EOF отлично подойдёт следующий код:
Данный код использует стандартную функцию getline. На вход она принимает поток, из которого нужно читать данные и строку, в которую нужно эти данные записать. Функция getline не считывает перенос строки, по этой причине в тот момент когда мы выводим их на экран, мы явно указываем '\n'. Результат функции getline приводится к true до тех пор, пока из потока можно продолжать читать данные.
Подробнее о том, как работает цикл while можно прочитать в этой статье.
Заключение
Только что мы с вами рассмотрели два способа ввода данных в наши программы на языке C++. Они покрывают большинство кейсов в повседневной жизни. В будущем мы обязательно поговорим о буферизации данных и бинарном вводе.
Если вам нравится материал и вы хотите его продолжения, то подписывайтесь и ставьте лайки. Это очень мотивирует писать для вас новые статьи.