|
Программирование >> Инициализация объектов класса, структура
то пользуемся манипулятором internal, который выравнивает знак по левой границе, а значение - по правой, заполняя пустое пространство пробелами. Если же нужен другой символ, то можно применить манипулятор setfill() . Так cout << setw(6) << setfill(%) << 100 << endl; печатает: %%%100 В табл. 20.1 приведен полн1й перечень предопределенных манипуляторов. Таблица 20.1. Манипуляторы
left right internal *fixed scientific flush ends endl ws Добавлять символ заполнения справа от значения Добавлять символ заполнения слева от значения Добавлять символ заполнения между знаком и значением Отображать число с плавающей точкой в десятичной нотации Отображать число с плавающей точкой в научной нотации Сбросить буфер ostream Вставить нулевой символ, затем сбросить буфер ostream Вставить символ новой строки, затем сбросить буфер ostream Пропускать пробельные символы для этих манипуляторов требуется #include <ionamiip> setfill( ch) Setprecision( n ) setw( w ) setbase( b ) Заполнять пустое место символом ch Установить точность вывода числа с плавающей точкой равной n Установить ширину ноля ввода или вывода равной w Выводить целые числа по основанию b * обозначает состояние потока но умолчанию 20.10. Сильно типизированная библиотека Библиотека iostream сильно типизирована. Например, попытка прочитать из объекта класса ostream или записать в объект класса istream помечается компилятором как #include <iostream> #include <fstream> class Screen; extern istream& operator ( istream&, const Screens ); extern void print( ostreams ); нарушение типизации. Так, если имеется набор объявлений: ifstream inFile; то следующие две инструкции приводят к нарушению типизации, обнаруживаемому во время компиляции: int main() Screen myScreen; ошибка: ожидается ostream& print( cin >> myScreen ); ошибка: ожидается оператор >> inFile << ошибка: оператор вода ; Средства ввода/вывода включены в состав стандартной библиотеки C++. В главе 20 библиотека iostream описана не полностью, в частности вопрос о создании определенных пользователем манипуляторов и буферных классов остался за рамками введения в язык. Мы сосредоточили внимание лишь на той части библиотеки iostream, которая имеет основополагающее значение для программного ввода/вывода.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |