нетипізовані файли

Нетипізовані файли оголошуються як файлові змінні типу FILE і відрізняються тим, що для них не вказано тип компонентів. Відсутність типу робить ці файли, з одного боку, сумісними з будь-якими іншими файлами, а з іншого-дозволяє організувати високошвидкісний обмін даними між диском і пам'яттю.

При ініціації нетипізованого файлу процедурами RESET або REWRITE можна вказати довжину запису нетипізованого файлу в байтах. Наприклад, так:

Довжина запису нетипізованого файлу вказується другим параметром при зверненні до процедур RESET або REWRITE, в якості якого може використовуватися вираз типу WORD. Якщо довжина запису не вказана, вона приймається рівною 128 байтам.

При роботі з нетипізований файлами можуть застосовуватися всі процедури і функції, доступні типізований файлів, за винятком READ і WRITE, які заміняються відповідно високошвидкісними процедурами BLOCKREAD і 3LOCKWRITE. Для виклику цих процедур використовуються наступні пропозиції:

BLOCKREAD (<ф .п.>, <буф>, <[, ])

BLOCKWRITE (<ф. п.>, <буф>, <[, ])

тут <буф> - буфер: ім'я змінної, яка буде брати участь в обміні даними з дисками;

за одне звернення до диска;

- необов'язковий параметр, що містить при виході з процедури

кількість фактично оброблених записів.

За одне звернення до процедур може бути передано до N * RECS байт, де RECS - довжина запису нетипізованого файлу. Передача йде, починаючи з першого байта змінної <буф>. Програміст повинен подбати про те, щоб довжина внутрішнього представлення змінної <буф> була достатньою для розміщення всіх N * RECS байт при читанні інформації з диска. Якщо при читанні вказана змінна <буф> недостатньої довжини або якщо в процесі запису на диск не опиниться потрібного вільного простору, виникне помилка введення-виведення, яку можна заблокувати, вказавши необов'язковий параметр (Змінна типу WORD).

Після завершення процедури покажчик зміщується на записів. Процедурами SEEK, FILEPOS і FILESIZE можна забезпечити доступ до будь-якого запису нетипізованого файлу.

Схожі статті