Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (Ведищев) + шпоры к экзамену / лекции по программированию за 1 курс.doc
Скачиваний:
170
Добавлен:
20.06.2014
Размер:
805.38 Кб
Скачать

Использование файлов в языка программирования с.

В С предусмотрен форматный ввод/вывод в/из файла и бинарный (двоичный). При использовании формата ввод/вывод обмен с файлом осуществляется также как и со стандартным устройством ввода и вывода, которым соответствуют потоки:

  • stdout (монитор)

  • stdin (клавиатура)

Для доступа к этим устройствам используются функции printf, scanf, gets, puts и так далее. Эти же стандартные устройства могут рассматриваться как файлы с соответствующими именами. Это устройства по умолчанию, поэтому открытия/ закрытия не требуется.

Для открытия файла: fopen

Закрытия: fclose

Доступа: fprintf, fscanf, fgets, fputs …

Отличие от printf, scanf, gets, puts состоит в указании в качестве 1-го параметра при вызове этих функций имени файловой переменной.

В качестве файловых переменных используются указатели на файловую структуру:

FILE*A;

С fopen файл может быть открыт для чтения, записи, добавления. Открытие файла в режиме записи приводит к обнулению файла, которое физически происходит при его закрытии. Файл может быть открыт в текстовом и бинарном режимах.

Для работами с файлами как с последовательностью байт используются функции read, write, open (считывает заданное количество байт из файла, открытого с помощью open )

Форматированный ввод и вывод при открытии open невозможен. Открытие с помощью fopen – открытие на высоком уровне, при этом присутствует ограничение на размещение в файловой системе, связанное с особенностями использования ОС. Открытие на низком уровне (open) таких ограничений не имеет, но не позволяет осуществлять форматированный ввод\вывод.

Директивы препроцессора. Указания компилятора.

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

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

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

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

Пробельные символы допускаются между # и первой буквы директивы.

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

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