Таблица Функции класса 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() в случае неудачной попытки вернуться назад на один символ |






