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


 

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

11355. Основы легирования стали. Классификация и маркировка легированных сталей 125.63 KB
  Лекция 9. Основы легирования стали. Классификация и маркировка легированных сталей. Назначение легирования В данной лекции рассматриваются примеси вводимые в стали в определенных концентрациях с целью изменения их внутреннего строения и свойств. Такие примеси ...
11356. Легированные конструкционные стали. Инструментальные легированные стали 316.08 KB
  Лекция 10. Легированные конструкционные стали. Инструментальные легированные стали. КОНСТРУКЦИОННЫЕ СТАЛИ Конструкционные стали должны обладать высокой конструктивной прочностью обеспечивать длительную и надежную работу конструкции в условиях эксплуатации. ...
11357. Поверхностное упрочнение деталей 173 KB
  Лекция 11. Поверхностное упрочнение деталей К основным способам упрочнения металлов и сплавов относятся: легирование с образованием твердых растворов; пластическое деформирование; создание дисперсных выделений; упрочнение термическими методами; упрочнение химико...
11358. Медь, ее маркировка. Латуни (состав, свойства, маркировка и применение). Бронзы (состав, свойства маркировка и применение) 104.39 KB
  Лекция 12 Медь ее маркировка. Латуни состав свойства маркировка и применение. Бронзы состав свойства маркировка и применение. Медь действительно цветной металл: в зависимости от чистоты и состояния поверхности цвет изменяется от розового до красного. Её порядк...
11359. Алюминий и его сплавы, их характеристика. Деформируемые сплавы алюминия. Деформируемые и литейные сплавы алюминия. Порошковые сплавы 317.61 KB
  Лекция 13 Алюминий и его сплавы их характеристика. Деформируемые сплавы алюминия. Деформируемые и литейные сплавы алюминия. Порошковые сплавы. Алюминий металл серебристобелого цвета имеет кристаллическую ГЦК решетку температура плавления 6600С удельный вес 27
11360. Антифрикционные материалы. Антифрикционные сплавы, применяемые в судовом машиностроении 139.12 KB
  Лекция 14 Антифрикционные материалы Антифрикционные сплавы применяемые в судовом машиностроении К антифрикционным относят материалы которые идут на изготовление различных деталей работающих в условиях трения скольжения. Антифрикционный материал должен обл
11361. Неметаллические материалы. Полимеры и пластмассы 268.83 KB
  Лекция 15 Неметаллические материалы. Полимеры и пластмассы Полимеры от греческого polymeres состоящий из многих частей многообразный от poly много и meros доля часть соединения с высокой молекулярной массой молекулы которых состоят из большого числа регулярно ил...
11362. Понятие, предмет и метод экономического анализа. Характеристика основных приемов и методов экономического анализа 154.5 KB
  Понятие предмет и метод экономического анализа. Понятие экономического анализа. Характеристика основных приемов и методов экономического анализа. Методика факторного анализа Вопросы для самоконтроля. Понятие экономического анализа Экон...
11363. Анализ производства и реализации продукции 119.5 KB
  Тема 2. Анализ производства и реализации продукции 2.1. Анализ формирования и выполнения производственной программы 2.1.1. Анализ объема продукции 2.1.2. Анализ ассортимента продукции 2.1.3. Анализ структуры продукции 2.2. Анализ качества продукции 2.3. Анализ ритмично