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

Презентация:



Advertisements
Похожие презентации
ІНФОРМАТИКА. 9 КЛАС Програмне забезпечення комп'ютерних систем Навчальна презентація вчителя Большакової Кристини Сергіївни ЗОШ 9 м. Ізмаїл.
Advertisements

Функції потокового введення/виведення даних Виділяють чотири групи функцій високорівневого обміну відповідно до формату даних, що передаються за одну операцію:
Тема 6 Потоки введення- виведення. Робота з файлами.
Вказівники Вказівник (або покажчик) – особливий тип даних, значенням якого є адреса певного байта оперативної памяті. Значення покажчика - це беззнакове.
ВИКОНАВ: ЗАЯЦЬ ДМИТРО. Материнська плата Відеокарта Процесор Оперативна память Оперативна память Блок живлення Жорсткий диск Системний блок Монітор.
Класи пам'яті даних. Клас пам'яті, час існування та видимість об'єкта Кожен обєкт програми (змінна, функція,...) має свій тип і клас памяті. Тип визначає.
Загальні відомості про системне, службове та прикладне програмне забезпечення. Класифікація, основні функції та складові операційних систем. Поняття про.
ІНФОРМАТИКА. 9 КЛАС Програмне забезпечення комп'ютерних систем Розділ 6 Навчальна презентація з інформатики для 9 класу вчителя Анрієнко М.А.
Функції з неоголошеними параметрами Інколи у функції потрібно передати деяке число фіксованих параметрів та невизначене число додаткових. В цьому випадку.
Вказівники на функції В мові С імя функції є константним вказівником на перший байт виконавчого коду функції. Це адреса оперативної памяті, яка відповідає.
Консольне введення даних За призначенням клавіші клавіатури можна поділити на групи: – символьні; – клавіші керування: Home, End, …, Delete та чотири стрілки;
ІНФОРМАТИКА. 9 КЛАС Програмне забезпечення комп'ютерних систем Розділ 6 Навчальна презентація вчителя Кравчук Г.Т. СЗШ 8 м. Хмельницького.
Опрацювання структур у функціях Оскільки мова С інтерпретує структури як звичайні змінні, а не вказівники, можна передавати значення структури у функцію.
Основи алгоритмізації та програмування Надання значень величинам. Вказівки присвоєння та введення.
Обмін блоками даних Зчитати з потоку блок даних заданого розміру можна за допомогою функції size t fread (void *buf, size t size, size t n, FILE *fp);
Інформатика. Перший рік Тема Програмне забезпечення компютерних систем Розділ 3 Системне програмне забезпечення інформаційних систем Презентаційний.
Текстові файли Приклади використання. Текстові файли призначені для зберігання символів Для опису текстової файлової змінної використовується тип Text.
Вчитель інформатики Златоустівської ЗОШ І-ІІІ ступенів Лєсконог О.В. Вчитель інформатики Златоустівської ЗОШ І-ІІІ ступенів Лєсконог О.В. Поняття про програму.
Введення даних і виведення результатів. Використання присвоєння Нехай змінній а потрібно надати початкове значення 5, змінній b 10, змінній с -2,5, змінній.
СИСТЕМНІ ПРОГРАМИ. Операційні системи Операційна система (ОС) – це комплекс програм, які забезпечують користувача і прикладні програми зручним інтерфейсом.
Транксрипт:

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

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

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

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

Перед введенням даних з конкретного файлу або записом даних у файл, необхідно створити потік, повязаний з цим фізичним файлом. Створення потоку реалізує функція відкриття файлу, прототип якої оголошено так: FILE *fopen (char *file_name, char * fmode); Параметри функції є вказівниками на символьні рядки. file_name – імя файлу, fmode– режим обміну даними. За умови успішного відкриття потоку створюється спеціальна структура зі шаблоном FILE і функція повертає її адресу. Якщо ж потік відкрити не вдалось, функція повертає NULL. Відкриття/закриття потоків

Основні режими відкриття файла (другий параметр fmode функції fopen () ): "r" – (від англ. read). Файл тільки для читання; "w" - (від англ. write). Файл тільки для запису; "a" – (від англ. append). Файл тільки для доповнення; "r+" - файл для читання з можливістю запису в нього; "w+" - файл для запису з можливістю читання з нього; "a+" - файл для доповнення з можливістю читання. Додатково в параметрі fmode можна задавати текстовий (t ) чи бінарний (b) режим відкриття потоку, за замовчуванням встановлюється текстовий режим.

Приклад: FILE *p1, *p2; FILE *p1, *p2; p1=fopen ("ishodn.dan", "r"); p1=fopen ("ishodn.dan", "r"); p2=fopen ("rezult.dan", "w"); p2=fopen ("rezult.dan", "w"); Для закриття потоків використовується функція int fclose (FILE *fp); fp - вказівник на потік, який треба закрити. При успішному використанні функції вона повертає значення 0. Приклад: fclose(f);

На початку виконання кожної С-програми відкриваються стандартні потоки: stdin – потік введення, який пов'язується з клавіатурою; stdout – потік виведення даних на екран; stderr – потік повідомлень про помилки, скеровуються на екран. Стандартні потоки можна перескеровувати (перепризначати), повязувати їх із заданим файлом чи пристроєм. Перескерування потоків виконує функція FILE *freopen (char *fname, char *fmode, FILE *fp); Функція повязує потік fp з файлом fname. Режим доступу до даних задає параметр fmode. Стандартні потоки, перескерування потоків

Значення та форми завдання параметрів fname і fmode такі ж, як для функції fopen (). За умови успішного виконання функція повертає вказівник на створений потік, а в разі помилки – NULL. Приклад: перше звертання до puts() викликає Приклад: перше звертання до puts() викликає виведення повідомлення на екран, а друге – у файл. #include #include void main() { puts(Виведення на екран); puts(Виведення на екран); freopen (example.xz, w,stdout); freopen (example.xz, w,stdout); puts(Виведення в файл); puts(Виведення в файл);}