Робота з файлами в мові С

Про матеріал
Для зручності в посиланні інформація в пристроях зберігання зберігається як файли.
Зміст слайдів
Номер слайду 1

Робота с файлами Для зручності в посиланні інформація в пристроях зберігання зберігається як файли. Файл — іменна область зовнішньої пам'яті, призначена для зберігання масиву даних. Дані, що містяться в файлах, мають найрізноманітніші характер: Програми на алгоритмічній або машинної мові; вихідні дані для роботи програми або результатів виконання програми; довільні тексти; графічні зображення тощо Каталог (тека, каталог) — іменована сукупність байтів на носіях зберігання даних, що містить назву підкаталогів і файлів, які використовуються файловою системою для спрощення організації файлів. Файлова система — функціональна частина операційної системи, що виконує файлові операції. Прикладами файлових систем є FAT (FAT - File Allocation Table, таблиця розміщення файлів), NTFS, UDF (використовується на CD). Існує три основні версії FAT: FAT12, FAT16 і FAT32. Вони відрізняються за структурою дисків, тобто кількістю бітів, виділених для зберігання номера кластера. FAT12 в основному використовується для дискет (до 4 Кб), FAT16 для малих дисків, FAT32 для флеш-накопичувачів великої ємності (до 32 Гб).

Номер слайду 2

Файловая структура FAT32 Зовнішні запам'ятовуючі пристрої на системі FAT32 мають не байту, а блочну адресацію. Інформація записується на зовнішній запам'ятовуючий пристрій блоками або секторами. Сектор — це мінімальний адресний накопичувач на зовнішніх пристроях зберігання даних. Як правило, розмір сектора фіксується на рівні 512 байт. Для збільшення адресного простору зовнішніх запам'ятовуючих пристроїв сектори об'єднуються в групи, які називаються кластерами. Кластер — це об’єднання декількох секторів, яке можна розглядати як самостійну одиницю з певними властивостями. Основною властивістю кластера є його розмір, вимірюється кількістю секторів або байтів. Файловая система FAT32 маю слідуючу структуру.

Номер слайду 3

Робота з файлами в мові С Для програміста відкритий файл представлений як послідовність зчитаних або записаних даних. Коли файл відкривається, він пов'язаний з потоком вводу-виводу. Вихідна інформація записується в потік, вхідна інформація зчитується з потоку. Коли потік відкривається для I-O, він з’єднується зі стандартною структурою типу FILE, яка визначається в stdio.h. Структура FILE містить необхідну інформацію про файл. Файл відкривається за допомогою функції fopen (), яка повертає вказівник на структуру типу FILE, який може бути використаний для подальших дій з файлом. FILE *fopen(name, type);

Номер слайду 4

FILE *fopen(name, type);name - назва файла, який буде відкрито (у тому числі шлях),type - вказівник на рядок символів, які визначають, як отримати доступ до файла: "r" - відкрити файл для читання (файл повинен існувати); "w" - відкрити порожній файл для запису; якщо файл існує, його вміст буде втрачено; "a" - відкрити файл для запису в кінець (для додавання); файл створюється, якщо його не існує; "r+" - відкрити файл для читання і запису (файл повинен існувати); "w+" - відкрити порожній файл для читання і запису; якщо файл існує, його вміст втрачається; "a+" - відкрити файл для читання і доповнення, якщо файл не існує, він створюється. Значенням повернення є вказівник відкритої потік. Якщо виявлено помилку, то повертається значення NULL.

Номер слайду 5

Функція fclose () закриває потік або потоки, зв'язані з відкритими файлами за допомогою функції fopen(). Потік, що закривається, визначається аргументом функції fclose(). Значення, що повертається: 0, якщо потік успішно закрито; константа EOF, якщо сталася помилка.#include int main() {  FILE *fp;  char name[] = "my.txt";  if ((fp = fopen(name, "r")) == NULL)  {    printf("Не вдалося відкрити файл");    getchar();    return 0;  }  // файл відкрити не вийшло  ...      // необхідні дії над даними  fclose(fp);  getchar();  return 0;}

Номер слайду 6

Читання символа із файла:char fgetc(потік); Аргумент функції — вказівник на потік типу FILE. Функція повертає код прочитаного символу. Якщо кінець файлу досягнуто або виникає помилка, повертається константа EOF.

Номер слайду 7

Запис символа у файл:fputc(символ,потік); Аргументи функції — символ і вказівник на потік  типу FILE. Функція повертає код прочитаного символу. Функції fscanf() і fprintf() схожі на функції scanf() і printf(), але працюють з файлами даних, і мають перший аргумент - вказівник на файл. fscanf( потік, "Формат. Вводу ", аргументи); fprintf( потік, "Формат. Виводу", аргументи);Функції fgets() і fputs() призначені для введення-виведення рядків, вони є аналогами функцій get() і puts() для роботи з файлами. fgets(Покажчик. На. Рядок, Кількість. Символів, потік);

Номер слайду 8

Символи читаються з потоку до тих пір, поки не буде прочитано новий символ рядка ’\n’, який включається в рядок, або до кінця потоку EOF або максимальної кількості символів. Результат поміщається у вказівник на рядок і закінчується нульовим символом ’\0'. Функція повертає адресу рядка.fputs(Покажчик. На. Рядок,поток); Копіює рядок до потоку з поточної позиції. Символ нуль-символ не копіюється. Приклад. Введіть число і збережіть його до файлу s1.txt. Прочитайте номер з s1.txt, збільшіть його на 3 і збережіть до s2.txt.#include #include int main(){  FILE *S1, *S2;  int x, y;  printf("Введите число : ");  scanf("%d", &x);  S1 = fopen("S1.txt", "w");  fprintf(S1, "%d", x);  fclose(S1);  S1 = fopen("S1.txt", "r");  S2 = fopen("S2.txt", "w");  fscanf(S1, "%d", &y);  y += 3;  fclose(S1);  fprintf(S2, "%d\n", y);  fclose(S2);  return 0;}Результат виконання — 2 файли

Номер слайду 9

Дякуємо за увагу. Работа с файлами

pptx
Додано
16 серпня 2022
Переглядів
1087
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку