Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование_С++_ч_4.doc
Скачиваний:
16
Добавлен:
22.11.2018
Размер:
243.2 Кб
Скачать

Федеральное агентство по образованию

ГОУ ВПО «Уральский государственный технический университет  УПИ»

Программирование на языке C++

Часть 4. Стандартная библиотека

Методические указания к лабораторным и самостоятельным работам по курсу «Программирование на языке С++» для слушателей курсов повышения квалификации и студентов всех форм обучения всех специальностей.

Екатеринбург

2006

УДК 681.3

Составитель: А. В. Кибардин

Научный редактор доц., канд.техн.наук Б. В. Семенов

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ с++. ч.4. Стандартная библиотека: методические указания к лабораторным и самостоятельным работам по курсу «Программирование на языке С++» / А. В. Кибардин. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2006. 30 с.

Методические указания описывают стандартную библиотеку алгоритмического языка С++ и ориентированы на студентов, аспирантов, слушателей ФПК и подготовительного отделения, обучающихся основам современных информационных технологий.

Библиогр.: 3 назв. Табл.2.

Подготовлено факультетом повышения квалификации преподавателей и профессиональной переподготовки

УДК 681.3

© ГОУ ВПО “Уральский государственный

технический университет-УПИ”, 2006

Введение

Стандартную библиотеку С++ можно разделить на две части. К первой части относятся функции, макросы, типы и константы, унаследованные из библиотеки С; ко второй – классы и другие средства С++.

Классы стандартной библиотеки можно разделить на следующие группы.

Потоковые классы – предназначены для управления потоками данных между оперативной памятью и внешними устройствами, а также в пределах оперативной памяти.

Строковый класс – предназначены для работы с символьными переменными.

Контейнерные классы – реализуют структуры для хранения данных (списки, векторы, множества).

Итераторы – предназначены для унифицированного доступа к элементам классов.

Математические классы – поддерживают обработку массивов с плавающей точкой и работу с комплексными числами.

Диагностические классы – обеспечивают динамическую идентификацию типов и объектно-ориентированную обработку ошибок.

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

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

Потоковые классы

Поток – это абстрактное понятие, относящееся к любому переносу данных от источника к приемнику.

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

По направлению обмена потоки можно разделить на входные (данные вводятся в память) и двунаправленные (допускающие как извлечение, так и включение).

По виду устройств, с которыми работает поток, можно выделить стандартные, файловые и строковые потоки.

Стандартные потоки предназначены для передачи данных от клавиатуры и на экран.

Файловые потоки – для обмена информацией с файлами на внешних устройствах.

Строковые потоки – для работы с массивами символов.

Для поддержки потоков библиотека С++ содержит иерархию классов, построенную на основе двух базовых классов – ios и sterambuf. Класс ios содержит общие для ввода и вывода поля и методы, класс steambuf обеспечивает буферизацию потоков и их взаимодействие с физическими устройствами.

Далее перечисляются часто используемые классы потоков:

ios – базовый класс потоков;

istream – класс входных потоков;

ostream – класс выходных потоков;

iostream – класс двунаправленных потоков;

istringstream – класс входных строковых потоков;

ostringstream – класс выходных строковых потоков;

stringstream – класс двунаправленных потоков;

ifstream – класс входных файловых потоков;

ofstream – класс выходных файловых потоков;

fstream – класс двунаправленных файловых потоков.

Описание классов находится в заголовочных файлах:

<ios> – базовый класс ввода/вывода;

<iosfwd> – предварительные объявления средств ввода/вывода;

<istream> – шаблон потока ввода;

<ostream> – шаблон потока вывода;

<iostream> – стандартные объекты и операции с потоками ввода/вывода;

<fstream> – потоки ввода/вывода в файлы;

<sstream> – потоки ввода/вывода в строки;

<streambuf> – буферизация потоков ввода/вывода;

<iomanip>–манипуляторы (см. далее).