- •Работа с файлами
- •Определение
- •Сравнение с массивами
- •Отличия
- •Классификация файлов
- •Классификация файлов
- •Текстовый файл
- •Текстовый файл
- •Текстовый файл
- •Функции работы с файлами
- •Функция getc()- чтение символа
- •Форматированный ввод- вывод
- •Функции fgets(), fputs()
- •Позиционирование в файле
- •Функция fseek()
- •Функция fseek()
- •Функция fseek()
- •Закрытие файла
Работа с файлами
Определение
Файл – это последовательность компонентов, имеющих одинаковый тип
Файлы хранятся на вспомогательных запоминающих устройствах
Сравнение с массивами
Сходство: файлы и массивы представляют собой совокупности компонентов имеющих одинаковый тип
Отличия
Файлы могут существовать после завершения программы, а массивы нет
Файлы могут увеличиваться в ходе выполнения программы, а массивы имеют фиксированный размер
Файлы обеспечивают как последовательный, так и прямой доступ; массивы – только прямой
Классификация файлов
Текстовый файл – состоит из строк символов.
Обычно такие файлы представляют последовательный доступ
Бинарные файлы (или файлы общего вида) – создаются программой и содержат произвольную двоичную информацию
Классификация файлов
Например: Необходимо записать в файл число 234
Текстовый файл: записываются в файл последовательно символы 2, 3, 4, т.е. 00110010 00110011 00110100
Бинарный файл: Записывается его внутреннее двоичное представление 0000000011101010
Текстовый файл
Заголовочный файл:
#include <stdio.h>
Указатель на поток:
FILE *f
Поток – это файл, вместе с предоставляемыми средствами буферизации
Текстовый файл
Значение указателя
f = fopen(имя_файла, режим)
Режимы открытия:
“w” – файл открывается для записи. Содержимое файла при этом стирается
“r” – существующий файл открывается только для чтения
“a” - файл открывается для добавления информации в конец файла
Текстовый файл
Режимы открытия:
“w+”- файл открывается для записи и последующих исправлений. Предыдущее содержимое файла при этом стирается
“r+”-существующий файл открывается как для чтения, так и для записи в любом месте файла. Невозможна запись только в конец файла
“a+” – файл открывается или создается для записи и чтения в любом месте файла. Содержимое файла сохраняется
Функции работы с файлами
FILE *F1,*F2;
//проверяем существует ли файл
if ((F1=fopen(“data.txt”,”r”))==NULL)
{
cout<<‘file not found’; return 0;
}