10.4.3 Члены ostream.

   


Назад  |  Вперёд

В классе ostream есть лишь несколько функций для управления выводом, большая часть таких функций находится в классе ios.

           class ostream : public virtual ios {
               //...
           public:
               ostream& flush();

               ostream&  seekp(streampos);
               ostream&  seekp(streamoff, seek_dir);
               streampos tellp();
               //...
           };

Как мы уже говорили, функция flush() опустошает буфер в выходной поток. Остальные функции используются для позиционирования в ostream при записи. Окончание на букву p указывает, что именно позиция используется при выдаче символов в заданный поток. Конечно эти функции имеют смысл, только если поток присоединен к чему-либо, что допускает позиционирование, например файл. Тип streampos представляет позицию символа в файле, а тип streamoff представляет смещение относительно позиции, заданной seek_dir. Все они определены в классе ios:

           class ios {
               //...
               enum seek_dir {
                  beg=0,  // от начала файла
                  cur=1,  // от текущей позиции в файле
                  end=2   // от конца файла
               };
               //...
           };

Позиции в потоке отсчитываются от 0, как если бы файл был массивом из n символов:

           char file[n-1];

и если fout присоединено к file, то

           fout.seekp(10);
           fout<<'#';

поместит # в file[10].


Назад  |  Вперёд


OtDiatlovaOU
К началу книги

Оформление и дизайн книги OtDiatlovaOU.
Вся книга, архив.