русс | укр

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

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

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

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


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

Двоичный (бинарный) режим обмена с файлами.


Дата добавления: 2013-12-23; просмотров: 2271; Нарушение авторских прав


Работа с файлами на диске

Файл – это именованная область памяти на каком-либо физическом носителе информации, в которой может храниться исходный текст программы, какое-либо из ее промежуточных представлений, программа в машинном коде, готовая к исполнению, или данные для ее работы. В файлах могут содержаться любые текстовые документы и числовые данные, закодированная табличная, графическая и любая другая информация. Часто файлы разделяют на текстовые и двоичные, причем содержание первых предназначено для прочтения пользователем, а содержание вторых написано в машинном коде (при помощи специальных программ).

 

Аналогичным образом (так же как это делается при работе со стандартными потоками ввода-вывода stdin и stdout) можно осуществлять работу с файлами на диске. Для этой цели в библиотеку языка Си включены следующие функции:

fgetc( ), getc( ) - ввод (чтение) одного символа из файла;

fputc( ), putc( ) - запись одного символа в файл;

fprintf( ) - форматированный вывод в файл;

fscanf( ) - форматированный ввод (чтение) из файла;

fgets( ) - ввод (чтение) строки из файла;

fputs( ) - запись строки в файл.

Различие между функциями fgetc( ), getc( ) и fputc( ), putc( ) здесь не рассматривается, и поэтому в примерах мы будем использовать только одну из них.

Двоичный (бинарный) режим обмена с файлами.Двоичный режим обмена организуется с помощью функций getc() и putc(), обращение к которым имеет следующий формат:

 

с = getc(fp);

putc(c, fp);

 

где fp - указатель на поток;

с - переменная типа intдля приема очередного символа из файла или для записи ее значения в файл. Прототипы функции:

 

int getc ( FILE*stream );

intputc (intc, 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) позволяют сохранить во внешней памяти и загрузить из внешней памяти базу данных о сотрудниках предприятия.



<== предыдущая лекция | следующая лекция ==>
H- означает, что аргумент должен быть указателем на тип short. | Строковый обмен с файлами.


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


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

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

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


 


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

 
 

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

Генерация страницы за: 0.003 сек.