Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Классы потоков С++.doc
Скачиваний:
11
Добавлен:
01.09.2019
Размер:
110.08 Кб
Скачать

Ввод-вывод в файлы

Для ввода/вывода в потоковые объекты можно применять методы put(), get(), для связывания объекта с различными файлами служат методы open(), close(), для позиционирования в файле имеются методы seekg(), seekp(), tellp(). При этом seekg() назначает или возвращает текущую позицию указателя чтения, а seekp() назначает или возвращает текущую позицию указателя записи. Обе функции могут иметь один или два аргумента. При вызове с одним аргументом функции перемещают указатель на заданное место, а при вызове с двумя аргументами вычисляется относительная позиция от начала файла (ios::beg), текущей позиции (ios::cur) или от конца файла (ios::end). Текущщая позиция определяется методом tellp().

Для объектов файловых потоков контроль состояния также производится с помощью методов, манипулирующих флагами ошибок:

bad() возвращает ненулевое значение, если обнаружена ошибка;

clear() сбрасывает сообщения об ошибках;

eof() возвращает ненулевое значение, если обнаружен конец файла;

fail() возвращает ненулевое значение, если операция завершилась неудачно;

good() возвращает ненулевое значение, если флаги ошибок не выставлены;

rdstate() возвращает текущее состояние флагов ошибок.

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