Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C++ / MP_OP_Lab6.doc
Скачиваний:
13
Добавлен:
13.05.2017
Размер:
91.14 Кб
Скачать

Лабораторная работа №6

Система ввода-вывода в языке Си. Работа с консольными функциями.

Работа с текстовыми файлами.

Цель работы:

  1. Познакомиться с новыми понятиями: поток ввода-вывода, файл, устройство ввода-вывода.

  2. Изучить методы работы c потоками и файлами

  3. Получить навыки работы с консолью

  4. Получить навыки работы с текстовыми файлами

Теоретические сведения

При подготовке к лабораторной работе использовать материалы лекций, расположенные в папке «Примеры из лекций»

Организация ввода и вывода. Файловая система

Операции ввода/вывода в языке Си осуществляются через потоки. Поток - это логическое устройство, выдающее и принимающее информацию.

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

В языке Си (С++) формат стандартных файлов ввода/вывода описан в заголовочном файле stdio.h. Имена стандартных файлов ввода/вывода для языка Си (С++) представлены в табл. 7.1. В момент начала выполнения программы на языке Си (С++) автоматически открываются три потока:

stdin, stdout, stderr.

Потоки, определяемые в языке Си и С++

Имя стандартного файла

Описание

stdaux

Последовательный ввод/вывод

stderr

Выходной поток ошибок

stdin

Стандартный ввод

stdout

Стандартный вывод

stdprn

Вывод на принтер

С++ поддерживает всю систему ввода/вывода Си и добавляет к ней дополнительные возможности, связанные в основном с вводом/выводом объектов. Описание средств для создания потоков в С++ представлено в заголовочном файле iostream.h. Когда начинает работать программа на С++, открываются потоки, приведенные в табл.

Потоки, определяемые в языке С++

Имя стандартного файла

Описание

cin

Стандартный ввод - клавиатура

cout

Стандартный вывод - экран

cerr

Стандартная ошибка - экран

clog

Буферизованная версия cerr - экран

Файловая система языков Си и С++ состоит как бы из двух уровней:

  • логических файлов ;

  • физических файлов, с которыми логические файлы всегда связаны.

Логический файл описывается как указатель на открываемый поток FILE * и служит средством взаимодействия с физическим файлом.

Имя физического файла появляется в программе всего один раз, в тот момент, когда происходит открытие файла, осуществляемое функцией fopen() и одновременно его связывание с логическим файлом.

Основными действиями, производимыми над файлами, являются :

  • открытие файла ,

  • обработка файла

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

Обработка файлов может заключаться в следующем :

  • считывание блока данных из потока в оперативную память,

  • запись блока данных из оперативной памяти в поток,

  • считывание определенной записи данных из потока,

  • занесение определенной записи данных в поток.

При этом необходимо помнить, что понятие файла в памяти ЭВМ не определено, и приобретает смысл только после его связи с внешним физическим файлом.

Соседние файлы в папке C++