ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 13.12.2020
Просмотров: 4219
Скачиваний: 28
Оглавление
10
30.5. Работа с индикатором ошибки .........................................................344
30.6. Работа с индикатором конца файла .................................................345
30.7. Работа с индикатором позиции файла .............................................345
30.8. Блочный ввод/вывод .........................................................................347
30.9. Ввод/вывод символов .......................................................................350
30.10. Запись/чтение строк из файла ........................................................352
30.11. Форматированный вывод ...............................................................354
30.12. Форматированный ввод ..................................................................360
30.13. Форматирование и сканирование строк ........................................364
30.14. Работа с буферами ..........................................................................366
30.15. Стандартные потоки .......................................................................368
30.16. Удаление файла ...............................................................................369
30.17. Переименование файла ...................................................................370
30.18. Работа с временными файлами ......................................................371
Глава 31. Организация нелокальных переходов
<setjmp.h> ....................................................................................... 373
31.1. Сохранение информации о состоянии стека ...................................373
31.2. Нелокальный переход .......................................................................374
Глава 32. Обработка исключительных ситуаций
<signal.h> ........................................................................................ 377
32.1. Сигналы .............................................................................................377
32.2. Установка функции обработки сигнала ..........................................378
32.3. Возбуждение сигнала ........................................................................379
Глава 33. Поддержка локализации <locale.h> ......................... 382
33.1. Локальность .......................................................................................382
33.2. Локальные категории ........................................................................383
33.3. Установка локальности .....................................................................383
33.4. Форматы числовых и денежных данных ........................................384
33.5. Определение текущих форматов данных ........................................387
Глава 34. Работа с датами и временем <time.h> ..................... 389
34.1. Арифметические типы для представления времени ......................389
34.2. Структура для представления календарного времени ...................389
34.3. Определение времени работы программы ......................................390
34.4. Определение текущего времени ......................................................391
34.5. Нахождение разности времен ..........................................................392
34.6. Преобразование представления времени из числа в структуру ....393
Оглавление
11
34.7. Преобразование представления времени из структуры в число ...395
34.8. Преобразование представления времени из числа в строку ..........395
34.9. Преобразование представления времени из структуры в строку ..396
34.10. Форматирование представления времени в строке ......................397
ЧАСТЬ IV. СТАНДАРТНАЯ БИБЛИОТЕКА
ЯЗЫКА ПРОГРАММИРОВАНИЯ С++ .................................. 401
Глава 35. Структура стандартной библиотеки С++ .............. 403
Глава 36. Обработка исключений <exception> ....................... 407
36.1. Классы и функции .............................................................................407
36.2. Класс
exception
..................................................................................408
36.3. Класс
bad_exception
..........................................................................408
36.4. Аварийное завершение программы .................................................409
36.5. Обработка не специфицированного исключения ...........................410
36.6. Определение наличия выброшенного исключения ........................412
Глава 37. Классы стандартных исключений <stdexcept> .... 414
Глава 38. Динамическая идентификация типов
<typeinfo> ........................................................................................ 418
38.1. Динамическая идентификация типов ..............................................418
38.2. Класс
type_info
...................................................................................419
38.3. Оператор
typeid
.................................................................................420
38.4. Обработка исключения
bad_typeid
..................................................421
38.5. Обработка исключения
bad_cast
.....................................................423
Глава 39. Работа со строками в С++ <string>.......................... 425
39.1. Характеристики символов ................................................................426
39.2. Строки ................................................................................................430
39.2.1. Ассоциированные типы ............................................................. 431
39.2.2. Специальное значение символьного типа ................................ 432
39.2.3. Конструкторы .............................................................................. 432
39.2.4. Шаблоны конструкторов ........................................................... 434
39.2.5. Операторы присваивания ........................................................... 435
39.2.6. Функции, возвращающие итераторы........................................ 435
39.2.7. Получение ссылки на элемент строки ...................................... 436
39.2.8. Оператор индексирования ......................................................... 437
Оглавление
12
39.2.9. Добавление символа в конец строки ........................................ 437
39.2.10. Преобразование в строку языка C .......................................... 437
39.2.11. Получение адреса первого элемента строки.......................... 438
39.2.12. Функции, работающие с длиной строки ................................ 438
39.2.13. Соединение строк ..................................................................... 439
39.2.14. Присваивание строк .................................................................. 441
39.2.15. Вставка строк и символов в строку ........................................ 442
39.2.16. Удаление последовательности символов из строки ............. 443
39.2.17. Очистка строки .......................................................................... 444
39.2.18. Замена символов и подстрок в строке .................................... 444
39.2.19. Копирование подстроки в массив символов ......................... 446
39.2.20. Обмен строк ............................................................................... 447
39.2.21. Поиск символов и подстрок в строке ..................................... 447
39.2.22. Выделение подстроки............................................................... 449
39.2.23. Сравнение строк ........................................................................ 450
39.2.24. Получение распределителя памяти для символа .................. 451
39.3. Шаблоны операторов ........................................................................451
39.3.1. Соединение строк ....................................................................... 451
39.3.2. Сравнение строк .......................................................................... 452
39.3.3. Ввод/вывод строк ........................................................................ 453
39.4. Шаблоны функций ............................................................................454
39.4.1. Ввод строк ................................................................................... 454
39.4.2. Обмен строк ................................................................................. 455
Глава 40. Потоки ввода/вывода в C++ ..................................... 456
40.1. Структура стандартной библиотеки ввода/вывода ........................456
40.2. Базовые классы потоков <ios> .........................................................458
40.2.1. Класс
ios_base
.............................................................................. 459
40.2.1.1. Флаги ..........................................................................460
40.2.1.2. Состояния ...................................................................462
40.2.1.3. Режимы открытия потока ..........................................463
40.2.1.4. Направления поиска ..................................................463
40.2.1.5. События ......................................................................464
40.2.1.6. Конструктор ...............................................................466
40.2.1.7. Оператор присваивания .............................................466
40.2.1.8. Класс
failer
..................................................................466
40.2.1.9. Класс
Init
.....................................................................466
40.2.1.10. Управление разрешением дисплея .........................467
40.2.1.11. Управление шириной поля ввода/вывода ..............467
40.2.1.12. Управление памятью ...............................................467
Оглавление
13
40.2.1.13. Управление локальностью ......................................468
40.2.1.14. Синхронизация с потоками языка
программирования C ................................................................468
40.2.2. Шаблон класса
basic_ios
............................................................ 469
40.2.2.1. Ассоциированные типы .............................................469
40.2.2.2. Конструкторы .............................................................470
40.2.2.3. Деструктор ..................................................................470
40.2.2.4. Инициализация объектов ..........................................471
40.2.2.5. Управление состоянием потока ................................472
40.2.2.6. Управление исключениями .......................................472
40.2.2.7. Копирование состояния потока ................................473
40.2.2.8. Перегруженные операторы .......................................473
40.2.2.9. Установка символа заполнителя ...............................474
40.2.2.10. Управление буфером ...............................................474
40.2.2.11. Управление потоком вывода ..................................474
40.2.2.12. Управление локальностью ......................................475
40.2.3. Шаблон класса
fops
..................................................................... 475
40.2.4. Манипуляторы............................................................................. 477
40.3. Базовые потоки вывода <ostream> ..................................................479
40.3.1. Шаблон класса
basic_ostream
.................................................... 479
40.3.1.1. Ассоциированные типы .............................................480
40.3.1.2. Конструктор ...............................................................480
40.3.1.3. Деструктор ..................................................................480
40.3.1.4. Перегруженный оператор вывода
<<
......................480
40.3.1.5. Вывод символа ...........................................................482
40.3.1.6. Вывод блока памяти ..................................................482
40.3.1.7. Освобождение буфера потока ...................................482
40.3.1.8. Управление индикатором позиции ...........................483
40.3.1.9. Класс
sentry
.................................................................484
40.3.2. Манипуляторы............................................................................. 485
40.3.3. Перегруженный шаблон оператора вывода
<<
....................... 485
40.4. Базовые потоки ввода и ввода/вывода <istream> ...........................486
40.4.1. Шаблон класса
basic_istream
..................................................... 487
40.4.1.1. Ассоциированные типы .............................................488
40.4.1.2. Конструктор ...............................................................488
40.4.1.3. Деструктор ..................................................................488
40.4.1.4. Перегруженный оператор ввода
>>
.........................488
40.4.1.5. Ввод символов ...........................................................490
40.4.1.6. Ввод строки ................................................................492
40.4.1.7. Просмотр символа в потоке ......................................493
Оглавление
14
40.4.1.8. Возврат символа в буфер потока ввода ...................494
40.4.1.9. Ввод блока памяти .....................................................496
40.4.1.10. Игнорирование символов ........................................496
40.4.1.11. Определение количества прочитанных
символов ....................................................................................497
40.4.1.12. Управление индикатором позиции .........................497
40.4.1.13. Синхронизация потока с файлом ............................499
40.4.1.14. Класс
sentry
...............................................................499
40.4.2. Манипулятор ............................................................................... 499
40.4.3. Перегруженный шаблон оператора ввода
>>
......................... 500
40.4.4. Шаблон класса
basic_iostream
................................................... 501
40.5. Стандартные потоки ввода/вывода <iostream>...............................502
40.6. Базовые потоки ввода/вывода в файлы <fstream> ..........................503
40.6.1. Шаблон класса
basic_ofstream
................................................... 504
40.6.2. Шаблон класса
basic_ifstream
.................................................... 505
40.6.3. Шаблон класса
basic_fstream
..................................................... 506
40.6.4. Работа с текстовыми файлами ................................................... 507
40.6.4.1. Создание текстового файла .......................................508
40.6.4.2. Чтение текстового файла ...........................................508
40.6.4.3. Модификация текстового файла ...............................509
40.6.5. Работа с бинарными файлами ................................................... 509
40.6.5.1. Создание бинарного файла .......................................510
40.6.5.2. Чтение бинарного файла ...........................................511
40.6.5.3. Модификация бинарного файла ...............................512
40.6.6. Копирование файла .................................................................... 513
40.7. Манипуляторы <iomanip> ................................................................514
40.7.1. Простые манипуляторы ............................................................. 514
40.7.2. Параметризованные манипуляторы ......................................... 515
Список литературы ...................................................................... 517
Предметный указатель ................................................................ 518