C++ Программирование в среде С++ Builder 5



             

Форматирующие функции-элементы


Эти функции являются элементами класса ios и перегружены таким образом, чтобы можно было либо читать, либо устанавливать значение соответствующего атрибута потока. Если аргумент в вызове отсутствует, функция возвращает текущее значение атрибута. Если аргумент указан, функция устанавливает новое и возвращает предыдущее значение атрибута.

long width(long)

Эта функция предназначена для чтения или установки атрибута ширины поля.

  • Применяемая ко входному потоку, функция позволяет задать максимальное число вводимых символов.
  • На выходном потоке функция задает минимальную ширину поля вывода.
  • Если действительное поле вывода меньше установленной ширины, выводятся дополнительные заполняющие символы. Символ заполнения определяется специальным атрибутом потока.
  • Если действительное поле вывода больше установленной ширины, ее значение игнорируется.
  • Значением ширины по умолчанию является 0 (ширина поля определяется выводимыми данными).
  • Ширина поля сбрасывается в 0 после каждой передачи в поток.
  • char fill(char)

    Функция позволяет прочитать или установить текущий символ заполнения.

    По умолчанию символ заполнения — пробел.

    long precision(long)

    Эта функция позволяет прочитать или установить значение атрибута точности, определяющего либо общее число выводимых цифр, либо число цифр дробной части.

  • Точность по умолчанию равна шести цифрам.
  • Если установлен флаг scientific или fixed, точность задает число цифр после десятичной точки.
  • Если ни один из этих флагов не установлен, точность задает общее число значащих цифр.
  • Пример

    Ниже приводится программа, демонстрирующая форматирование потока с помощью функций-элементов класса ios.

    Листинг 9.1. Демонстрация форматирующих функций потока

    ///////////////////////////////////////////////

    // Format.срр: Форматирующие функции-элементы ios.

    //

    #include <iostream.h>

    #pragma hdrstop

    #include <condefs.h>

    #pragma argsused

    int main(int argc, char* argv[])

    {

    //

    // Ширина поля при вводе и выводе.

    //

    cnar sir [16];




    Содержание  Назад  Вперед