Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КПИЯП_ОТВЕТЫ_3 ред.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
46.21 Кб
Скачать

Int_type peek();

Особенности:

  • метод файлового потока

  • не извлекает символ из потока, а только считывает его (!)

3.11-3.12

( аналогично 3.13 и 3.14 + использование get() put())

3.13

Запись символов в файл в бинарном режиме.

ostream& write( const char* buf, streamsize num);

Особенности:

  • метод файлового потока

  • предназначена для записи num символов из буфера buf в файловый поток ostream

  • буфером может быть объект любого типа

  • если буфер не является символьным массивом, то необходимо произвести приведение типов к (char * ), а размер буфера определить с помощью sizeof()

  • обычно используется для записи объектов целиком

/* пример в методу Лу "ООП" xD*/

3.14

Чтения данных из бинарного файла.

Istream& read(char* buf, streamsize num);

Особенности:

  • метод файлового потока

  • если при считывании достигается конец файла, то устанавливается флаг eofbit и следующее считывание не производится

/* пример в методу Лу "ООП" xD*/

3.15

Курсоры записи и чтения.

Система ввода-вывода управляет двумя указателями:

  • курсором чтения - указатель позиции, в которой осуществляется чтение данных в файл

  • курсором записи - указатель позиции, в которой осуществляется запись данных в файл

После выполнения чтения-записи соответствующий курсор перемещается на одну позицию вперед.

Выбор стартовой позиции для произвольного доступа.

  • ios::beg - начало

  • ios::cur - текущая позиция

  • ios::end - конец

Функции определения текущих позиций.

pos_type tellp();

pos_type tellg();

Произволный доступ при записи данных.

ostream& seekp(off_type offset, seekdir origin);

ostream& seekp(pos_type pos);

Особенности:

  • метод файлового потока

  • предназначен для перемещения курсора записи на offset байт, начиная с позиции origin

  • перегруженный вариант устанавливает курсор в позицию pos

  • используется в бинарном режиме

  • возвращает ссылку на поток

3.15 ( такова нумерация исходных вопросов в файле с вопросами к экзамену %)

Курсоры чтения.

Istream& seekg( off_type offset, seekdir origin);

Istream& seekg( pos_type pos);

Особенности: ( см. пред. вопрос )

3.16

Буферизированный ввод-вывод.

Буферизированный ввод-вывод использует в качестве физического устройства ввода-вывода символьный массив.

Особенности:

  • с потоком связан массив символов

  • поддержка символьных потоков сохранена, но не рекомендуется к использованию

Библиотека буферизированного ввода-вывода - <strstream>

Отличия:

  • описание классов для работы с массивом символов типа char*

  • выведена из глобального пространства имен std

Классы буф. ввода-вывода.

ios - высокоуровневый байтовый ввод-вывод

|

istream - поток байтового ввода

| |

| istrstream - буферизированный байтовый ввод

|

ostream - поток байтового вывода

| |

| ostrstream - буферизированный байтовый вывод

|

iostream - поток байтового ввода вывода

|

strstream - буферизированный байтовый ввод-вывод

3.17

Создание буферизированного потока ввода.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]