69705

Читання і запис в бінарному режимі

Лекция

Информатика, кибернетика и программирование

Для кожного відкритого файлу система зберігає величину яка називається покажчиком поточної позиції файлу. При відкритті файлу цей покажчик встановлюється на початок файлу. З кожним викликом функції читання файлу покажчик поточної позиції зрушується...

Украинкский

2014-10-09

53.5 KB

0 чел.

Тема 25: Читання і запис в бінарному режимі

Ми вже уміємо відкривати файли. Тепер поговоримо про їх обробку, тобто читанні і записі. На мал. 11.1 і 11.2 показано, як відбувається читання і запис бінарних файлів.

Для кожного відкритого файлу система зберігає величину, яка називається покажчиком поточної позиції файлу. При відкритті файлу цей покажчик встановлюється на початок файлу. З кожним викликом функції читання файлу покажчик поточної позиції зрушується на певну кількість байтів (див. мал. 11.1).

Line1\nLine2\Line3<- Line1\nLine2\Line3<- Line1\nLine2\Line3<-

Л Л Л

після відкриття читаємо 7 байтів досягнутий кінець файлу

fread(Sf. 7)

Мал.   11.1. Читання бінарного файлу

Line1\nLine2MJne3<- Line1\nBYTe2\Line3<- Нагадаю, що \n   —    один

символ. Запис даних в

зрушуємо покажчик на Записуємо три байти

7 байтів вут фаил починається з позиції

на яку указує покажчик (див. мал. 11.2).

Мал.   11.2. Запис бінарного файлу тт

і        ^ Читання двійкового (бинарно-

го) файлу здійснюється

функцією fread(). Даній функції потрібно передати всього два параметри -идентификатор файлу і кількість символів, яку потрібно прочитати. Функція повертає рядок, в якому будуть прочитані символи. Якщо

як параметр функції буде вказано більше число символів, чим є у файлі насправді, то помилки не буде — просто буде виведено все, що є.

Приклад читання двійкового файлу приведений в лістингу 11.1. Лістинг 11.1. Читання двійкового (бінарного) файлу

$f   =   fopen("/home/den/lines.txt","r")    or   die("0um6Ka   при   відкритті   файла\ п"); $s   =   fread($f,    4); echo   $s;

Мал.   11.3. Чтенієдвоїчного(бінарного) файлу

Ми відкрили файл в бінарному режимі "тільки читання". Потім ми прочитали 4 байти і записали їх в рядок $s, яка була виведена на екран. На мал. ll.3 ми бачимо сам файл lines.txt, а також виведення сценарію — рядок Line.

Для запису символів у файл використовується функція fwrite(), якою потрібно передати два параметри — ідентифікатор файлу і рядок, який буде записаний у файл.

У приведеному вище прикладі після читання чотирьох байтів покажчик зупинився на п'ятому байті: наступна операція читання або запису почнеться з п'ятої позиції. Це означає, що якщо нам потрібно записати що-небудь після символів Line, ми можемо відразу після операції читання записати потрібні нам дані. Але адже ми відкрили файл в режимі

читання, тому зараз запис неможливий. Виправимо це упущення. Напишемо сценарій, який працюватиме так:

Відкриває файл в режимі запису.

«Перемотує» файл на п'яту позицію, тобто встановлює
покажчик поточної позиції.

Записує інформацію у файл.

| Зберігає зміни у файлі.
Текст сценарію приведений в лістингу 11.2.

Лістинг 11.2. Запис в бінарний файл

<?

$f   =   fopen("/home/den/lines.txt","r+")    or   с11е("0шибка   при   відкритті   файла\ п"); fseek($f,    4,    SEEK_SET); fwr.ite ($f, "BYTE") ; fflush($f); ?>


 

А также другие работы, которые могут Вас заинтересовать

43765. СТРАХОВІ ПОСЛУГИ ТА ОСОБЛИВОСТІ ЇХ РЕАЛІЗАЦІЇ 100 KB
  Сутність та характерні ознаки страхових послуг. Класифікація страхових продуктів. Значення маркетингу в основній діяльності страхових компаній. Реалізація страхових послуг.
43766. ПОРЯДОК УКЛАДЕННЯ ДОГОВОРУ СТРАХУВАННЯ ТА ЙОГО ЕЛЕМЕНТИ 71 KB
  Сутність та порядок укладання договору страхування Вирішення суперечок та припинення дії договору страхування Сутність та порядок укладання договору страхування Договір страхування є правовим документом який опосередковує процес надання страхової послуги страховиком страхувальникові.
43767. Системи автоматичного управління 492.08 KB
  Тимчасові характеристики динамічного ланки являють собою залежність вихідного сигналу системи від часу при подачі на її вхід деякого типового впливу. Зазвичай виконується аналіз виходу системи на одиничний стрибок (функція Хевісайда) та імпульсну функцію
43768. Развитие творчества младших школьников на уроках технологии при работе с бумагой на основе сказочных текстов 10.67 MB
  В соответствии с проблемой целью предметом исследования определены следующие задачи: Изучить и проанализировать психолого-педагогическую литературу по развитию творчества; Рассмотреть особенности развития творчества у младших школьников; Определить наиболее эффективные методы и приемы обучения детей младшего школьного возраста с использованием сказочной литературы и бумаги; Выявить отношение младших школьников к урокам труда; Определить творческие задания на уроках технологии для младших школьников. Изготовление игрушек поделок из...
43769. Действующий порядок исчисления и уплаты НДС, пути его совершенствования в Российской Федерации на примере УФНС России по Республике Марий Эл 336.76 KB
  Теоретические основы применения налога на добавленную стоимость Сущность роль и особенности НДС Характеристика основных элементов налога на добавленную стоимость Изменения налогового законодательства относительно Налога на добавленную стоимость в 2012 году Действующий порядок исчисления и уплаты НДС пути его совершенствования в Российской Федерации на примере УФНС России по Республике Марий Эл Международный опыт взимания НДС Анализ исчисления и уплаты НДС в республике Марий Эл
43770. Рентабельность перевозок ООО «Тир Транс» 324.85 KB
  Из приведенной формулы следует что рентабельность перевозок зависит от изменения двух факторов: реализации на рубль производственных фондов; прибыли на рубль реализации. Изменение рентабельности за счет влияния фондоотдачи с одного рубля производственных фондов равно: Δ Rпд = РП1 ОФ1 МС1БП0 РП0 РП0 ОФ0 МС0БП0 РП06 Изменение рентабельности производственной деятельности за счет влияния уровня рентабельности реализованной продукции равно: Δ Rпд = РП1 ОФ1 МС1БП1 РП1 РП1 ОФ1 МС1БП0 РП07 Необходимо отметить...
43771. Технология и организация приготовление банкетных горячих блюд из баранины 426.87 KB
  Сначала мясо ели сырым потом начали жарить на огне варить тушить. С тех давних времен изменились не только рецепты и технологии приготовления мясных блюд и изделий изменилось само мясо. Мясо является важным источником энергии в питании человека. Также мясо содержит биологически активные вещества витамины гормоны ферменты и вещества не используемые организмом в процессах жизнедеятельности так называемые неалиментарные вещества.
43772. Создание библиотеки строительных элементов для САПР учебного процесса ГБОУ СПО НСО «НППК» 7.29 MB
  Разработке проекта предшествует анализ проектной ситуации, включающий изучение исходных условий проектирования – социально экономических и технических требований, градостроительного и природного окружения, природно-климатических и гидрогеологических характеристик местности.
43773. Строительство малоэтажного жилого одноквартирного дома в городе Иваново 1.9 MB
  В конструктивном отношении здание решено как бескаркасное с продольными и поперечными несущими стенами, выполненными из керамзитобетонных блоков с шагом продольных стен 2,55 м. Пространственная жесткость и устойчивость здания обеспечивается сопряжением наружных стен с внутренними, с настилами перекрытия, опирающимися на эти стены и крепящимися к ним с помощью арматурных анкеров.