Бьерн Страуструп - Язык программирования С++. Главы 8-10 - Класс ios

ОГЛАВЛЕНИЕ


10.4.1 Класс ios

Большинство средств управления вводом-выводом сосредоточены в классе ios, который является базовым для ostream и istream. По сути здесь находится управление связью между istream или ostream и буфером,
используемым для операций ввода-вывода. Именнокласс ios контролирует: как символы попадают в буфер и как они выбираются оттуда. Так, в классе ios есть член, содержащий информацию об используемой при чтении или записи целых чисел системы счисления (десятичная, восьмеричная или шестнадцатеричная), оточностивещественных чисел и т.п., а также функции для проверки и установки значений переменных, управляющих потоком.
     class ios {
         //...
     public:
         ostream* tie(ostream* s);   // связать input и output
         ostream* tie();             // возвратить "tie"

     int width(int w);               // установить поле width
     int width() const;

     char fill(char);                // установить символ заполнения
     char fill() const;              // вернуть символ заполнения

     long flags(long f);
     long flags() const;

     long setf(long setbits, long field);
     long setf(long);
     long unsetf(long);

     int precision(int);             // установить точность для float
     int precision() const;
     int rdstate(); const;          // состояния потоков, см. $$10.3.2
     int eof() const;
     int fail() const;
     int bad() const;
     int good() const;
     void clear(int i=0);

     //...
  };
В 10.3.2 описаны функции, работающие с состоянием потока, остальные приведены ниже.