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


 

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

34978. Основные экономические проблемы общества 38 KB
  Что производить проблема выбора это принятие решений о том какие именно блага какого качества в каком количестве должны быть произведены. Как производить проблема эффективности это принятие решений о том с помощью каких ограниченных ресурсов и их комбинаций с помощью каких технологий будут произведены блага. Для кого производить проблема распределения это проблема связанная с распределением благ: кому достанутся произведенные блага и в каком количестве будет располагать ими экономический субъект. Количество созданных товаров...
34979. Экономика – особая сфера общественной жизни 28.5 KB
  Нормативная экономика это направление в экономической науке основанное на оценочных суждениях относительно того какой должна быть экономика цели экономического развития и экономическая политика. Позитивная экономика означает анализ фактов на основе которых формулируются принципы экономического поведения. Теоретическая экономика учит понимать сложный экономический мир вырабатывает экономический тип мышления.
34980. Функции экономической теории 31 KB
  Практическая рекомендации по совершенствованию текущей экономической ситуации снижению уровня инфляции увеличению валового национального продукта и т. ЭКОНОМИЧЕСКАЯ ПОЛИТИКА система методов инструментов и форм государственного воздействия на социальноэкономические процессы реализующая тот или иной тип экономической стратегии. Сложная структура развитой рыночной экономики требует применения разнообразных инструментов и мер экономической политики.
34981. Производство и потребности 27 KB
  Потребности человека в самом широком смысле можно определить как состояние нужды неудовлетворенности которое он стремится преодолеть. По своей биологической природе потребности вытекают из взаимодействия живого организма с окружающей средой. Это так называемые физиологические потребности человека потребности в пище одежде жилище и т.
34982. Ресурсы и факторы производства 27.5 KB
  Ресурсы производства это совокупность различных природных социальных и духовных сил которые могут быть использованы в процессе создания товаров услуг и иных ценностей. Многие природные ресурсы редки а их запасы с каждым днем уменьшаются; 2 материальные все созданные человеком рукотворные средства производства и предметы труда которые сами являются результатом производства; 3 трудовые трудоспособное население; 4 финансовые денежные средства которые общество в состоянии выделить на организацию производства; 5 информационные ...
34983. Крива́я произво́дственных возмо́жностей 24 KB
  Попасть в эту точку можно если увеличить количество используемых ресурсов или улучшить технологию производства например сменить ручной труд на машинный. Тенденции роста альтернативных издержек производства в условиях увеличения производства одного из товаров. Уровень эффективности производства.
34984. Экономическая система 38.5 KB
  Во всех экономических системах для производства требуются экономические ресурсы а результаты хозяйственной деятельности распределяются обмениваются и потребляются. В то же время в экономических системах есть также элементы которые отличают их друг от друга: социальноэкономические отношения; организационноправовые формы хозяйственной деятельности; хозяйственный механизм; система стимулов и мотиваций участников; экономические связи между предприятиями и организациями. ТЭС Отличительные черты: крайне примитивные технологии; преобладание...
34986. Функции рынка 32.5 KB
  Растет цена сигнал к расширению производства: падает цена сигнал к его сокращению. Информационная функция Цена складывающаяся на каждом из рынков содержит богатую информацию необходимую всем участникам хозяйственной экономической деятельности. Ценообразующая функция В результате взаимодействия производителей и потребителей предложения и спроса на товары и услуги на рынке формируется цена. Рыночная цена представляет собой своего рола итог баланс сопоставления затрат производителей и полезности ценности данного блага для...