Таблица Функции класса filebuf
Функция | Назначение |
open | Открывает файл для чтения/записи, связывая с ним объект класса filebuf |
close | Закрывает файл |
setmode | Задает режим доступа к файлу: двоичный (константа filebuf::binary) или текстовый (константа filebuf::text) |
attach | Связывает указанный открытый файл с объектом класса filebuf |
fd | Возвращает дескриптор класса |
is_open | Проверяет, открыт ли файл, связанный с потоком |
Функции класса streambuf
Семейство функций-элементов streambuf используется классами, основанными на ios. Любой класс, порожденный от ios, наследует указатель на объект класса streambuf. Объекты класса streambuf управляют фиксированной областью памяти, называемой также областью резервирования, которая в свою очередь может быть разделена на область ввода и вывода (они могут перекрывать друг друга).
Класс streambuf является абстрактным, т.е. создать его объект напрямую нельзя (его конструктор является защищенным и не может быть вызван из программы). Можно создавать собственные классы, порожденные от streambuf, переопределяя его виртуальные функции и настраивая его работу в соответствии с потребностями конкретного приложения. Только из производных классов можно вызвать многочисленные защищенные функции этого класса, управляющие областью резервирования.
|
|
Таблица Открытые функции класса streambuf
Функция | Назначение |
in_avail | Возвращает число символов в области ввода |
sgetc | Возвращает символ, на который ссылается указатель области ввода; при этом указатель не перемещается |
snextc | Перемещает указатель области ввода на одну позицию вперед, после чего возвращает текущий символ |
sbumpc | Возвращает текущий символ и затем перемещает указатель области ввода на одну позицию вперед |
stossc | Перемещает указатель области ввода на одну позицию вперед, но не возвращает символ |
sputbackc | Перемещает указатель области ввода на одну позицию назад, возвращая символ в буфер |
sgetn | Читает требуемое количество символов из буфера |
out_waiting | Возвращает число символов в области вывода |
sputc | Записывает символ в буфер и перемещает указатель области вывода на одну позицию вперед |
sputn | Записывает требуемое количество символов в буфер и перемещает указатель области вывода на соответствующее число позиций вперед |
dbp | В текстовом виде записывает в стандартный выходной поток различного рода информацию о состоянии буфера |
Таблица Виртуальные функции класса streambuf
Функция | Назначение |
base | Возвращает указатель на начало области резервирования |
ebuf | Возвращает указатель на конец области резервирования |
blen | Возвращает размер области резервирования |
pbase | Возвращает указатель на начало области вывода |
pptr | Возвращает значение указателя области вывода |
epptr | Возвращает указатель на конец области ввода |
eback | Возвращает указатель на начало области ввода |
gptr | Возвращает значение указателя области ввода |
egptr | Возвращает указатель на конец области вывода |
setp | Задает значения указателей, связанных с областью вывода |
setg | Задает значения указателей, связанных с областью ввода |
pbump | Перемещает указатель области вывода на указанное число байтов относительно текущей позиции |
gbump | Перемещает указатель области ввода на указанное число байтов относительно текущей позиции |
setb | Задает значения указателей, связанных с областью резервирования |
unbuffered | Задает или возвращает значение переменной, определяющей состояние буфера |
allocate | Вызывает виртуальную функцию doallocate для создания области резервирования |
doallocate | Выделяет память для области резервирования (виртуальная функция) |
Таблица Виртуальные функции класса streambuf
|
|
Функция | Назначение |
sync | Очищает области ввода и вывода |
setbuf | Добавляет к буферу указанную зарезервированную область памяти |
seekoff | Перемещает указатель области ввода или вывода на указанное количество байтов |
seekpos | Перемещает указатель области ввода или вывода на указанную позицию относительно начала потока |
overflow | Очищает область вывода |
underflow | Если область ввода пуста, заполняет ее данными из источника |
pbackfail | Вызывается функцией sputbackc() в случае неудачной попытки вернуться назад на один символ |