Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proga_shpory.docx
Скачиваний:
43
Добавлен:
25.03.2015
Размер:
102.57 Кб
Скачать

50.Файлы в с. Способы обмена. Файловый тип. Описание файлов.

Под файлом понимается поименованная область внешней памяти ПК (жесткого диска, гибкой дискеты, электронного "виртуального диска", …), хранящая данные. Под файлом понимается также логическое устройство – потенциальный источник или приемник информации.

Любой файл имеет следующие характеристики (атрибуты):

Имя файла. Составляется по правилам составления идентификаторов в рассматриваемой ОС, например, C:\MCDOC\d.txt ).

Тип компонентов. Например, файл может представлять собой последовательность строк или последовательность байтов.

Длина файла. Это число компонент файла.

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

Логические устройства.

Стандартные аппаратные устройства ПК, такие как клавиатура, экран дисплея, печатающее устройство (принтер) и коммуникационные каналы ввода-вывода, определяются специальными именами, которые называются логическими устройствами:

conлогическое имя, которое определяет консоль (клавиатуру или экран дисплея);

prnлогическое имя принтера. Если к ПК подключено несколько принтеров, доступ к ним осуществляется по логическим именам LPT1, LPT2, LPT3. Первоначально prn и LPT3– синонимы.

auxлогическое имя коммуникационного канала, который используется для связи ПК с двумя машинами. Коммуникационный канал может осуществлять передачу и прием данных. Как правило, имеется 2 коммуникационных канала: com1 и com2. Первоначально aux и com1 – синонимы.

NULлогическое имя "пустого" устройства. Чаще всего используется в отладочном режиме как устройство-приемник информации неограниченной емкости. При обращении к NUL как к источнику информации, выдается признак конца файла (EOF).

51.Файлы в с. Потоковый обмен: блоковый, форматный.

При вводе/выводе данные рассматриваются как поток байтов.

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

Чтение данных из потока называется извлечением, вывод в поток – помещением или включением.

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

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

По виду устройств, с которыми работает поток, можно разделит потоки на стандартные, файловые и строковые.

Стандартные потоки предназначены для передачи данных от клавиатуры в память ПК, или из памяти ПК на экран дисплея и принтер.

Файловые потоки предназначены для обмена информацией с файлами на внешних носителях данных.

Строковые потоки – для работы с массивами символов в ОП.

По структуре данных поток может быть текстовым или бинарным (двоичным).

Текстовый поток – это последовательность строк, каждая из которых имеет нуль или более ASCII-символов и заканчивается символом "\n" – конца строки и перехода к следующей строке. Текстовые файлы могут быть просмотрены и отредактированы с клавиатуры любым текстовым редактором.

Бинарный (двоичный) поток - это последовательность байтов без учета разделения на строки. Каждая программа для своих бинарных файлов определяет собственную структуру.

52.Препроцессор языка С/С++.

Директивы препроцессора Препроцессором называется первая фаза компилятора. Инструкции препроцес сора называются директивами. Они должны начинаться с символа #, перед кото рым в строке могут находиться только пробельные символы (с. 18). Директива #include Директива #include <имя_файла> вставляет содержимое указанного файла в ту точ ку исходного файла, где она записана. Включаемый файл также может содержать директивы#include. Поиск файла, если не указан полный путь, ведется в стан дартных каталогах включаемых файлов. Вместо угловых скобок могут использо ваться кавычки (" ") — в этом случае поиск файла ведется в каталоге, содержа щем исходный файл, а затем уже в стандартных каталогах. Директива #include является простейшим средством обеспечения согласованно сти объявлений в различных файлах, она включает в них информацию об интер фейсе из заголовочных файлов. Заголовочные файлы обычно имеют расширение . h и могут содержать: • определения типов, констант, встроенных функций, шаблонов, перечислений; • объявления функций, данных, имен, шаблонов; • пространства имен; • директивы препроцессора; • комментарии.

В заголовочном файле не должно быть определений функций и данных. Эти пра вила не являются требованием языка, а отражают разумный способ использова ния директивы. При указании заголовочных файлов стандартной библиотеки расширение .h можно опускать 1. Это сделано для того, чтобы не ограничивать способы их хра нения. Для каждого файла библиотеки С с именем <name. h> имеется соответст вующий файл библиотеки C++ <cname>, в котором те же средства описываются в пространстве имен std. Например, директива #1nclucle <cstdio> обеспечивает те же возможности, что и #1nclude <stdio.h>, но при обращении к стандартным функциям требуется указывать имя пространства имен std (см. раздел «Поиме нованные области»

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]