Ввод данных - это просто, даже до EOF!

Практически для любой интерактивной программы на С++ необходим способ ввода этих самых данных.

Потоковый ввод с приведением типа

В одном из прошлых постов мы рассмотрели объект потока вывода cout. Аналогичный объект существует и для потока ввода. Он называется cin. При использовании оператора cin необходимо использовать операторыввода данных >>.

В данном коде объявлены переменная x и y, которые затем вводятся с клавиатуры и выводятся на экран. Примечательно, что переменные сразу преобразуется в корректный числовой тип данных int.

Чтение данных до EOF

EOF (end of file) — конец файла. В компьютерной терминологии является индикатором операционной системы, означающим, что данные в источнике закончились (википедия).

Для считывания данных до EOF отлично подойдёт следующий код:

Данный код использует стандартную функцию getline. На вход она принимает поток, из которого нужно читать данные и строку, в которую нужно эти данные записать. Функция getline не считывает перенос строки, по этой причине в тот момент когда мы выводим их на экран, мы явно указываем '\n'. Результат функции getline приводится к true до тех пор, пока из потока можно продолжать читать данные.

Подробнее о том, как работает цикл while можно прочитать в этой статье.

Заключение

Только что мы с вами рассмотрели два способа ввода данных в наши программы на языке C++. Они покрывают большинство кейсов в повседневной жизни. В будущем мы обязательно поговорим о буферизации данных и бинарном вводе.

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