Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Групи функцій для роботи з потоками

Файли і потоки, буферизація даних

 

У мові С файл є достатньо абстрактним поняттям, яким позначається джерело надходження даних або місце їх нагромадження. Файлом вважається не тільки іменована сукупність даних, розташованих на зовнішньому носії (наприклад, дисковий файл), а й термінальний пристрій (наприклад, клавіатура або принтер).

Це означає, що файли можуть мати зовсім різні характеристики. Наприклад, до даних, записаних у файлі на диску, можна виконувати прямий доступ, а введення даних з клавіатури може бути тільки послідовним.

 

Для уніфікації процесів файлового обміну даними у функціях високорівневого введення/виведення мови С використовують поняття потоку (stream), тобто послідовності байтів, що надходять від певного логічного пристрою (файлу) або передаються у цей пристрій (файл).

 

Щоб узагальнити обмін даними як для пристроїв, що підтримують побайтове передавання (клавіатура, дисплей, принтер), так і для пристроїв, що передбачають обмін блоками байтів (дискові файли), у процесах введення/вив здійснюється проміжна буферизація даних.


Буферизація полягає в наступному. Для кожного відкритого файлу в оперативній пам'яті створюється буфер обміну заданої ємності. Здебільшого ємність буфера для дискових файлів приймається кратною ємності сектора диска (а сам сектор 1024, 2048 байтів), щоб забезпечити максимальну ефективність операцій обміну файл відкривається для читання, то буфер введення відразу заповнюється початковою порцією байтів цього файлу. Коли всі дані з буфера зчитано, автоматично виконується наступне звертання до файлу і в буфер заноситься нова порція байтів. Якщо ж здійснюється запис даних у файл, то вони спочатку заносяться у буфер виведення, а вже потім переписуються у файл за кожної з умов:

 

1 - заповнено весь буфер,

2 - виконано очищення буфера,

3 - відбувається закриття файлу,

4 - програма завершує роботу стандартним чином (неаварійно).

 

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

 

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


 

Всі бібліотечні функції високорівневого потокоорієнтованого буферизованого введення/виведення оголошені в заголовному файлі <stdio.h>. У цьому ж файлі визначені макроконстанти, внутрішні змінні, а також спеціальні структурні типи які використовуються цими функціями.

Набір функцій для роботи з потоками можна поділити на групи:

 

функції відкриття/закриття та перескерування потоків;

функції введення/виведення даних;

функції звертання до вказівник а позиції файла;

функції контролю стану файла та помилок введення/виведення;

функції керування буферизацією;

інші допоміжні функції.

 

Далі охарактеризуємо функції кожної з цих груп і наведемо приклади їх використання.



Читайте також:

  1. II. Вимоги безпеки перед початком роботи
  2. II. Вимоги безпеки праці перед початком роботи
  3. III. Вимоги безпеки під час виконання роботи
  4. III. Вимоги безпеки під час виконання роботи
  5. Internet. - це мережа з комутацією пакетів, і її можна порівняти з організацією роботи звичайної пошти.
  6. IV. Вимоги безпеки під час роботи на навчально-дослідній ділянці
  7. VII. Прибирання робочих місць учнями (по завершенню роботи) і приміщення майстерні черговими.
  8. Аденогіпофіз, його гормони, механізм впливу, прояви гіпер- та гіпофункцій.
  9. Аконність залишення засуджених у слідчому ізоляторі для роботи з господарського обслуговування.
  10. Актуальність проблеми професійної етики соціальної роботи
  11. Алгоритм роботи прозорого моста
  12. Алгоритми групи KWE




Переглядів: 1006

<== попередня сторінка | наступна сторінка ==>
ОБМІН ДАНИМИ З ФАЙЛАМИ | Відкриття потоків.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.017 сек.