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); ?>


 

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

42011. Вычислительные машины, системы и сети 1.32 MB
  Цель работы Изучение преобразования Фурье и его основных свойств а также методики получения быстрого преобразования Фурье БПФ. Теоретические сведения Ортогональные функции Для лучшего понимания вопроса о рядах Фурье дадим определение ортогональным функциям.
42012. Топливо и его использование. Лабораторный практикум 672.5 KB
  Приборы и оборудование: шкаф сушильный электрический с терморегулятором, обеспечивающий устойчивую температуру нагрева от 40 до 110 ºС, с отверстиями для естественной вентиляции; пронумерованные бюксы стеклянные с крышками для определения влаги в лабораторной или аналитической пробе; противни из неокисляющегося металла для подсушивания проб; эксикаторы, наполненные свежепросушенным силикагелем или другими высушивающими веществами; весы микроаналитические с пределом взвешивания до 0,001 г.
42013. Физика шпаргалка на казахском языке 1.42 MB
  Физика пәнінде оптиканың орны және басқа пәндермен байланысын көрсетіңіз. Жарықтың электромагниттік табиғатын көрсетіңіз. Абсолют және салыстырмалы сыну көрсеткіші. ЭМ толқындар шкаласы. Монохромат жарықтың интерференциясы. Когеренттіліктің ұзындығы және уақыты. Интерференциялық аспаптар...
42014. Традиції в архітектурі, курс лекцій 241.5 KB
  Традиція – це елементи соціальної i культурної спадщини, що переходять від покоління до покоління i зберігаються протягом тривалого часу. Традиція поширюється на широку область соціальних явищ, але найбільше значення вона має в релігії, мистецтві (в тому числі в архітектурі), в науці.
42015. Ассиметричная криптосистема Эль-Гамаля. Криптосистемы, основанные на эллиптических кривых 212 KB
  Криптосистемы основанные на эллиптических кривых. Ознакомиться с принципом функционирования криптосистем основанных на эллиптических кривых. Освоить реализации обмена ключами с использованием эллиптических кривых а также процедуру шифрования дешифрования использующую данный метод. Рассмотреть принцип организации опроцедуры шифрования и обмена ключами с использованием эллиптических кривых.
42016. Метрологія та вимірювальна техніка та напряму. Метрологія, стандартизація та сертифікація 799 KB
  До звіту включають: мету роботи; лабораторне завдання; протокол повірки; висновки з оцінкою проведеного експерименту та поясненням отриманих результатів. Мета роботи набуття навичок дослідження основних метрологічних характеристик МХ засобів вимірювальної техніки практичне засвоєння методики повірки генераторів сигналів низької частоти ГНЧ закріплення знань з принципів побудови та застосування повірочного обладнання.1 Завдання на самостійну...
42017. Электротехнические дисциплины. Методические указания 1.41 MB
  Принятые обозначения I действующее значение тока А; U действующее значение напряжения В; Im амплитудное значение тока А; Um амплитудное значение напряжения В; E действующее значение ЭДС В; Em амплитудное значение ЭДС В; R сопротивление резистора Ом; L индуктивность катушки индуктивности Гн; C емкость конденсатора Ф; r активное сопротивление Ом; G проводимость См; g активная проводимость См; Z полное сопротивление Ом; Y полная проводимость См; z комплексное...
42018. ТЕХНОЛОГИЯ КОНСТРУКЦИОННЫХ МАТЕРИАЛОВ 3.21 MB
  Изучение технологии и оборудование холодной сварки. Изучение технологии и оборудование электрической контактной сварки. Лабораторная работа 5 ИЗУЧЕНИЕ ТЕХНОЛОГИИ И ОБОРУДОВАНИЯ ХОЛОДНОЙ СВАРКИ Цель изучить оборудование и усвоить технологические приёмы выполнения холодной сварки. Краткие теоретические сведения Сущность процесса холодной сварки металлов Холодная сварка выполняется в большинстве случаев без нагрева.