Входные потоки
Объект потока ввода является источником байтов. Три наиболее важных класса входных потоков: istream
, ifstream
и istringstream
.
Класс istream
рекомендуется использовать для последовательного текстового ввода. Можно настроить объекты класса istream
для работы с буферизацией или без буферизации. Все функции базового класса, ios
, включены в istream
. Объекты из класса istream
редко создаются. Вместо этого вы обычно будете использовать предопределенный cin
объект, который фактически является объектом класса ostream
. В некоторых случаях после запуска программы cin
можно присвоить другим объектам потока.
Класс ifstream
поддерживает ввод в файлы на диске. Если вам требуется файл на диске только для ввода, создайте объект класса ifstream
. Можно указать двоичные или текстовые данные. Если в конструкторе указать имя файла, этот файл автоматически открывается при создании объекта. В противном случае можно использовать функцию open
после вызова конструктора по умолчанию. К объектам ifstream
применяются много параметров форматирования и функций-членов. Все функции базовых классов ios
и istream
включены в ifstream
.
Подобно функции библиотеки sscanf_s
, класс istringstream
поддерживает ввод из строк в памяти. Чтобы извлечь данные из массива символов с NULL
концами, выделить и инициализировать строку, а затем создать объект класса istringstream
.
В этом разделе
Построение объектов потока ввода
Использование операторов извлечения
Проверка на наличие ошибок извлечения
Перегрузка >>
оператора для собственных классов