ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 15.04.2021

Просмотров: 6579

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Оглавление 

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


background image

Оглавление 

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


background image

Оглавление 

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


background image

Оглавление 

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


background image

Оглавление 

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