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

лекции программирование / polevoy_cpp_2012_spring_lecture_07

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

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

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

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

–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