русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Потоки С++ и файлы

Поток – это абстрактное понятие, относящееся к любому переносу данных от источника к приёмнику. Потоки С++, в отличие от функций ввода/вывода в стиле С, обеспечивают надёжную работу как со стандартными, так и с определёнными программистом типами данных, а также единообразный и понятный синтаксис. Потоки активно используются в визуальном объектно-ориентированном программировании. На сегодняшний день, потоки С++ - это лучший способ записывать данные в файл, лучший способ организации данных в памяти для последующего использования при вводе/выводе данных не только в консольных программах, но и в визуальных элементах графического интерфейса пользователя (GUI).

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

По направлению обмена потоки можно разделить на входные (данные вводятся в память), выходные (данные выводятся из памяти) и двунаправленные (допускающие как извлечение, так и включение). Иначе говоря, если движение данных направлено в программу, то такой поток называют входным потоком (input stream). Если движение данных направлено из программы, то такой поток называют выходным потоком (output stream). Эти потоки тесно связаны со стандартными потоками ввода/вывода ОС.

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

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

Библиотека С++ предлагает три класса для работы с файлами: ifstream – класс входных файловых потоков; ofstream – класс выходных файловых потоков; fstream – класс двунаправленных файловых потоков. Эти классы объявлены в заголовочном файле fstream.h и поддерживают перегруженные операции << и >>, флаги форматирования, манипуляторы и т.п.

Использование файлов в программе предполагает следующие операции:

- создание потока;

- открытие потока и связывание его с файлом;

- обмен данными (ввод/вывод);

- уничтожение потока;

- закрытие файла.

Потоковый ввод/вывод файлов можно разделить на форматированный и двоичный (бинарный).

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


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.