|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Двоичный (бинарный) режим обмена с файламиДвоичный (бинарный) режим обмена с файлами. Двоичный режим обмена организуется с помощью функций getc() и putc(), обращение к которым имеет следующий формат:
с = getc (fp); putc (c, fp);
где fp - указатель на поток; с - переменная типа int для приема очередного символа из файла или для записи ее значения в файл. Прототипы функции:
int getc (FILE *stream); int putc (int c, FILE * stream);
В качестве примера использования функций getc() и putc() рассмотрим программы ввода данных в файл с клавиатуры и программу вывода их на экран дисплея из файла. Программа ввода читает символы с клавиатуры и записывает их в файл. Пусть признаком завершения ввода служит поступивший от клавиатуры символ '#'. Имя файла запрашивается у пользователя. Если при вводе последовательности символов была нажата клавиша <Enter>, служащая разделителем строк при вводе с клавиатуры, то в файл записываются управляющие коды "Возврат каретки" (CR- значение 13) и "Перевод строки" (LF - значение 10). Код CR в дальнейшем при выводе вызывает перевод маркера (курсора) в начало строки экрана дисплея. Код LF служит для перевода маркера на новую строку дисплея. Значения этих кодов в тексте программы обозначены соответственно идентификаторами CR и LF, т.е. CR и LF - именованные константы. Запись управляющих кодов CR и LF в файл позволяет при последующем выводе файла на экран отделить строки друг от друга. В приводимых ниже программах используются уже рассмотренные выше функции getchar(), putchar() для посимвольного обмена со стандартными потоками stdin, stdout.
Следующая программа читает поток символов из ранее созданного файла и выводит его на экран дисплея:
Программу чтения символов из файла можно усовершенствовать, добавив возможность вывода информации на экран порциями (кадрами):
В этой программе после вывода очередного кадра из МАХ строк для перехода к следующему кадру необходимо нажать любую клавишу. Используя двоичный обмен с файлами, можно сохранять на диске информацию, которую нельзя непосредственно вывести на экран дисплея (целые и вещественные числа во внутреннем представлении). Необходимые примеры и разъяснения приводятся в главе 8 при описании программы обслуживания базы данных о сотрудниках предприятия. Функции save() и load() из этого примера (см. §8.2) позволяют сохранить во внешней памяти и загрузить из внешней памяти базу данных о сотрудниках предприятия. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |