Содержание
- 2. Потоковые классы Поток — это абстрактное понятие, относящееся к любому переносу данных от источника к приемнику.
- 3. Чтение данных из потока называется извлечением, вывод в поток — помещением, или включением. Поток определяется как
- 4. Обмен с потоком для увеличения скорости передачи данных производится, как правило, через специальную область оперативной памяти
- 5. По направлению обмена потоки можно разделить на входные (данные вводятся в память), выходные (данные выводятся из
- 6. Для поддержки потоков библиотека С++ содержит иерархию классов, построенную на основе класса — ios. Класс ios
- 8. Основным преимуществом потоков по сравнению с функциями ввода/вывода, унаследованными из библиотеки С, является контроль типов, а
- 9. Стандартные потоки Заголовочный файл содержит, кроме описания классов для ввода/вывода, четыре предопределенных объекта:
- 10. В классах istream и ostream операции извлечения из потока >> и помещения в поток Пример: #include
- 11. Как и для других перегруженных операций, для вставки и извлечения невозможно изменить приоритеты, поэтому в необходимых
- 12. Величины при вводе должны разделяться пробельными символами (пробелами, знаками табуляции или перевода строки). Извлечение прекращается, если
- 13. Например: #include int main(){ int i = 0xD; double d; // Символы из потока ввода преобразуются
- 14. Форматирование данных В потоковых классах форматирование выполняется тремя способами — с помощью флагов, манипуляторов и форматирующих
- 18. Флаги (left, right и internal), (dec, oct и hex), а также (scientific и fixed) взаимно исключают
- 20. Все функции возвращают прежние флаги потока. Кроме флагов, для форматирования используются следующие поля класса ios:
- 22. Перед установкой некоторых флагов требуется сбросить флаги, которые не могут быть установлены одновременно с ними. Для
- 23. #include int main(){ long a = 1000, b = 077; cout.width(7); cout.setf(ios::hex | ios::showbase | ios::uppercase);
- 24. В результате работы программы в первой строке будут прописными буквами выведены переменные a и b в
- 25. Манипуляторы Манипуляторами называются функции, которые можно включать в цепочку операций помещения и извлечения для форматирования данных.
- 28. Пример 1: cout Пример 2: #include #include int main(){ double d[] = {1.234, -12.34567, 123.456789, -1.234,
- 29. Методы обмена с потоками В потоковых классах наряду с операциями извлечения >> и включения функции чтения,
- 31. ios::beg (от начала файла), ios::cur (от текущей позиции) ios::end (от конца файла); В классе ostream определены
- 33. Пример 1. Программа считывает строки из входного потока в символьный массив. #include "iostream.h" int main(){ const
- 34. Файловые потоки Под файлом обычно подразумевается именованная информация на внешнем носителе, например, на жестком или гибком
- 35. Стандартная библиотека содержит три класса для работы с файлами Эти классы являются производными от классов istream,
- 36. Использование файлов в программе предполагает следующие операции: создание потока; открытие потока и связывание его с файлом;
- 37. Конструкторы c параметрами создают объект соответствующего класса, открывают файл с указанным именем и связывают файл с
- 38. Вторым параметром конструктора является режим открытия файла.
- 39. Открыть файл в программе можно с использованием либо конструкторов, либо метода open, имеющего такие же параметры,
- 40. #include int main(){ char text[81], buf[81]; cout cin >> text; ifstream f(text); if (!f){ cout return
- 41. while (!f.eof()){ f.getline(buf, 81); cout } return 0; } Для закрытия потока определен метод close(), но
- 42. Структуры (struct) В отличие от массива, все элементы которого однотипны, структура может содержать элементы разных типов.
- 43. struct [ имя_типа ] { тип_1 элемент_1; тип_2 элемент_2; тип_n элемент_n; } [ список_описателей ];
- 44. Определение массива структур и указателя на структуру: struct { char fio[30]; int date, code; double salary;
- 45. Если список отсутствует, описание структуры определяет новый тип, имя которого можно использовать в дальнейшем наряду со
- 46. Имя структуры можно использовать сразу после его объявления (определение можно дать позднее) в тех случаях, когда
- 47. Для инициализации структуры значения ее элементов перечисляют в фигурных скобках в порядке их описания: struct{ char
- 48. При инициализации массивов структур следует заключать в фигурные скобки каждый элемент массива (учитывая, что многомерный массив
- 49. Для переменных одного и того же структурного типа определена операция присваивания, при этом происходит поэлементное копирование.
- 50. Доступ к полям структуры выполняется с помощью операций выбора . (точка) при обращении к полю через
- 51. Если элементом структуры является другая структура, то доступ к ее элементам выполняется через две операции выбора:
- 53. Скачать презентацию