
- •Void unsetf( fmtflags флаги );
- •Iostream& manip_name (iostream& stream){
- •If (stream.Rdstate() & ios::eofbit)…
- •Istrea& putback( char ch );
- •Istream& get ( char& ch );
- •Istream& get (char* buf, streamsize num);
- •Istream& get (char* buf, streamsize num, char delim);
- •Istream& getline (char* buf, streamsize num);
- •Istream& getline (char* buf, streamsize num, char delim);
- •Int_type peek();
- •Istream& read(char* buf, streamsize num);
- •Istream& seekg( off_type offset, seekdir origin);
- •Istream& seekg( pos_type pos);
- •Istrstream::istrstream( const char* buf);
- •Istrstream::istrstream( const char* buf, streamsize size);
- •Int main(){
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
Создание буферизированного потока ввода.