Манипулятор

Назначение

boolalpha

Представлять true и false в виде строк

*noboolalpha

Представлять true и false как 1 и 0

Showbase

Печатать префикс, обозначающий систему счисления

*noshowbase

Не печатать префикс система: счисления

showpoint

Всегда печатать десятичную точку

*noshowpoint

Печатать десятичную точку только в том случае, если дробная часть ненулевая

showpos

Печатать + для неотрицательных чисел

*noshowpos

Не печатать + для неотрицательных чисел

*skipws

Пропускать пробельные символы в операторах ввода

noskipws

Не пропускать пробельные символы в операторах ввода

uppercase

Печатать 0X при выводе в шестнадцатеричной системе счисления; E - при выводе в научной нотации

*nouppercase

Печатать 0x при выводе в шестнадцатеричной системе счисления; e - при выводе в научной нотации

*dec

Печатать в десятичной системе

hex

Печатать в шестнадцатеричной системе

oct

Печатать в восьмеричной системе

left

Добавлять символ заполнения справа от значения

right

Добавлять символ заполнения слева от значения

internal

Добавлять символ заполнения между знаком и значением

*fixed

Отображать число с плавающей точкой в десятичной нотации

scientific

Отображать число с плавающей точкой в научной нотации

flush

Сбросить буфер ostream

ends

Вставить нулевой символ, затем сбросить буфер ostream

endl

Вставить символ новой строки, затем сбросить буфер ostream

ws

Пропускать пробельные символы

// для этих манипуляторов требуется #include ionamiip

setfill( ch )

Заполнять пустое место символом ch

Setprecision( n )

Установить точность вывода числа с плавающей точкой равной n

setw( w )

Установить ширину ноля ввода или вывода равной w

setbase( b )

Выводить целые числа по основанию b

* обозначает состояние потока но умолчанию

<p>20.10. Сильно типизированная библиотека</p>

Библиотека iostream сильно типизирована. Например, попытка прочитать из объекта класса ostream или записать в объект класса istream помечается компилятором как

#include iostream

#include fstream

class Screen;

extern istream operator ( istream, const Screen );

extern void print( ostream );

нарушение типизации. Так, если имеется набор объявлений:

ifstream inFile;

то следующие две инструкции приводят к нарушению типизации, обнаруживаемому во время компиляции:

int main()

{

Screen myScreen;

// ошибка: ожидается ostream

print( cin myScreen );

inFile "ошибка: оператор вода";

Средства ввода/вывода включены в состав стандартной библиотеки C++. В главе 20 библиотека iostream описана не полностью, в частности вопрос о создании определенных пользователем манипуляторов и буферных классов остался за рамками введения в язык. Мы сосредоточили внимание лишь на той части библиотеки iostream, которая имеет основополагающее значение для программного ввода/вывода.

2012-02-03 15:55:12 Андрей

В самом начале, где про ввод из файла... Тут что - то не так. Есть файл, нет файла, всё равно выдает 1 и не пишет сообщение, что данные нельзя прочитать. Я сам новичок в этом, но наткнулся на стену...

2011-03-26 07:27:40 admin

Спасибо, не заметил. Поправил.

2011-03-25 19:52:06 Дмитрий

Перейти на страницу:

Похожие книги