Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

polevoy_cpp_2012_spring_lecture_07

.pdf
Скачиваний:
5
Добавлен:
20.04.2015
Размер:
136.27 Кб
Скачать

Стандартные потоки

глобальные переменные

консольный ввод и вывод

cin и cout

протоколирование ошибок

cerr

ведение логов

clog

24.03.2012

cppNewb.ru

31

Опережающее объявление

сокращает время компиляции

можно использовать для указателей и ссылок

пример:

// in comp.h

class CStack;

bool compute(const CStack& stack);

24.03.2012

cppNewb.ru

32

Опережающее объявление потоков

// class ostream; // не сработает

namespace std { template<

class Ch,

class Tr = char_traits<Ch> > class basic_ostream;

typedef basic_ostream<char> ostream;

}

24.03.2012

cppNewb.ru

33

Базовые операции

открытие (создание)

operator<<

запись в поток (поместить данные)

operator>>

чтение из потока (извлечь данные)

проверка состояния

закрытие (уничтожение)

24.03.2012

cppNewb.ru

34

Типы ввода и вывода

форматированный

текстовый

неформатированный

двоичный

24.03.2012

cppNewb.ru

35

Формат

система счисления (oct, dec, hex)

отступы

заполнители

разделители

формат префиксов и суффиксов

разделителя разрядов

и т.д.

24.03.2012

cppNewb.ru

36

Форматирование

формат – состояние потока (флаги форматирования)

изменение формата

функции

манипуляторы

24.03.2012

cppNewb.ru

37

Форматные флаги (примеры)

ios::showbase

признак системы счисления (dec, oct или hex)

ios::showpoint

десятичная точка и завершающих нулей в

вещественных числах

ios::uppercase

верхний регистр букв A-F (hex) и Е (exp)

ios::showpos

отображение знака плюс (+) для положительных величин

24.03.2012

cppNewb.ru

38

Флаги форматирования (функции)

fmtflags flags()

– получить текущие флаги

fmtflags flags(fmtflags flNew)

– установить флаги

fmtflags setf(fmtflags flSet) fmtflags setf(fmtflags bits,

fmtflags field)

– добавить флаги

fmtflags unsetf(fmtflags flClear)

– снять флаги

24.03.2012

cppNewb.ru

39

Форматное поле

должен быть установлен только один бит из группы

автоматический сброс остальных бит не

происходит

используйте перегруженную версию setf

24.03.2012

cppNewb.ru

40