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


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


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


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


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


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


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


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


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


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



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






ОБМІН ДАНИМИ З ФАЙЛАМИ

Лекція № 11

 

 

 

Три рівні організації введення/виведення даних

Поняття файла і потоку; буферизація даних у процесах високорівневого потокоорієнтованого обміну даними

Поділ бібліотечних функцій <stdio.h> на групи за призначенням

Відкриття та закриття потоків, функції fopen () та fclose ()

Стандартні потоки, перескерування потоків

Бібліотечні функції потокового введення/виведення окремих символів і символьних рядків

Файловий обмін блоками даних, функції fread() та fwrite ()

Форматне введення/виведення даних, функції fscanf () та fprintf ()

 

Позиціювання покажчика поточної позиції файла

Функції перевірки стану файла та аналізу помилок

Функції роботи з буферами потоків

Редагування вмісту файла, витирання та перейменування файлів, функції <dir.h> для роботи з каталогами та файлами

Функції низькорівневого звертання до файлів

 


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

 

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

 

· високорівневе, т. зв. потокоорієнтоване введення/виведення;

· введення/виведення низького рівня;

· обмін даними з консольними пристроями.

 

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

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


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

Функції низькорівневого введення/виведення блокоорієнтовані і забезпечують виграш у швидкодії лише тоді, коли обсяг блоку даних, що передається за одну операцію введення чи виведення, кратний ємності сектора диска, що становить 512 байтів. Прототипи функцій бібліотеки Borland C, які реалізують низькорівневе звертання до файлів, зберігаються в заголовному файлі <іо.h>.

Функції консольного введення/виведення доповнюють і розширюють можливості високорівневих функцій щодо введення даних з клавіатури і керування формою зображення екранних повідомлень у текстових режимах виведення інформації. До цієї групи належать також функції передавання даних через порти. Консольний обмін даними найбільш залежний від операційної та апаратної платформи комп'ютера. Прототипи функцій консольного введення/виведення оголошені в заголовному файлі <conio.h>.



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

  1. Автоматичний обмін даними.
  2. АДАПТАЦІЯ ОБМІНУ РЕЧОВИН ДО М'ЯЗОВОЇ ДІЯЛЬНОСТІ
  3. Американський стандартний код для обміну інформацією ASCII.
  4. Білковий обмін
  5. Білковий обмін: загальні відомості
  6. Буфер обміну — це тимчасове місце зберігання інформації, яку було скопійовано або переміщено з одного місця з метою використання в іншому.
  7. Вентиляція. Види вентиляції. Організація повітрообміну в приміщеннях, повітряний баланс, кратність повітрообміну
  8. Визначення малюнка, пов'язаного з даними
  9. ВИХІДНІ ТА ПРОГНОЗНІ ЗНАЧЕННЯ ЧИСЕЛЬНОСТІ ХЛОПЧИКІВ ЗА ДАНИМИ ПЕРЕПИСУ
  10. Вібротеплообмінник для сипких середовищ
  11. Водний і мінеральний обмін
  12. Водний обмін у наземних тварин. Пристосування до життя в аридних умовах




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

<== попередня сторінка | наступна сторінка ==>
Правовий режим космічного простору та небесних тіл. | Групи функцій для роботи з потоками

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

 

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


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