Программирование на языке си ( с ) | C Sharp (Си шарп) с нуля. Сортировки | Массивы | Функции

Режимы файла | Файлы произвольного доступа

Давайте сперва перед файлами произвольного доступа разберем режимы открытия:

  1. r
  2. открываем файл для чтения

  3. w
  4. создаем файл для записи. Если файл уже существует, то стираем все данные

  5. a
  6. создаем файл для записи. Если файл уже существует, то записываем данные в конец файла

  7. r+
  8. открываем файл для записи и чтения

  9. w+
  10. создаем файл для обновления. Если файл уже существует, то данные стираются

  11. а+
  12. создает файл для обновления. Если файл существует, то данные записываются в конец файла

Для чего мы сохраняем данные в файл? Ответом на этот вопрос является название нашего урока. Все что мы делали на предвидущем уроке, т.е. учились записывать данные в файл, то теперь наши труды надо прочитать с этого файла.

#include <conio.h>
#include <stdio.h>

int main()
{
     int bal;
     char name[15];
     FILE *file;

     if ((file = fopen("1.txt","r")) == NULL)
        printf("Файл невозможно открыть или создать\n");
     else{
        for(;;){
           if (feof(file))
              break;
           fscanf(file,"%d %s", &bal, name);
           printf ("%d %s\n", bal, name);
        }
     }
     fclose(file);
     getch();
return 0;
}

Давайте теперь разберем отличия записи в файл и чтения из файла:

if ((file = fopen("1.txt","r")) == NULL)

открывает файл в режиме чтения. Ну, это очевидный шаг, раз мы будем считывать данные

if (feof(file))

проверяет условие окончания файла. В случае, когда все файлы будут считаны, сработает наша структура и выполнит операцию break

fscanf(file,"%d %s", &bal, name);

считывает данные из файла и записывает их в указанные переменные. Действует, так же как и функция scanf(), только считывает введенные данные не с экрана, а с файла

Это мы с вами работали с файлами последовательного доступа

   Файлы произвольного доступа

Созданные данные с помощью функции fprintf не обязательно должны быть одинаковой длины. Данные, которые создаются в файле с произвольным доступом, имеют определенную длину, что позволяет быстро и легко найти нужную нам запись. Поэтому файлы произвольного доступа очень распространены в различных организациях.

В файлы произвольного доступа можно легко добавлять, удалять записи, не перезаписывая остальные данные. Это очень удобно, так как иногда приходится изменять одну и туже строчку много раз.

На следующем уроке вы поймете, как создаются файлы произвольного доступа, как записывается и считывается информация с этих файлов.

Задания:

  1. создайте 10 записей, содержащих информацию о железнодорожных маршрутах. Вот какие данные должны быть (номер пути, номер вагона, имя поезда). Запишите сами вручную эти данные в файл. Далее вам предстоит считать эти данные и вывести их на экран.

Предвидущие уроки:

  1. Введение в файлы

Следующие уроки:

  1. Запись в файл
При копировании ( использовании ) материала размещайте ссылку на сайт www.mir-koda.ru