Похожие презентации:
Семинар11_Текстовые файлы
1. Текстовые файлы
2.
Файл – именованная область внешней памяти, выделенная дляхранения данных.
Файлы предназначени только для хранения информации. Для
обработки – программы.
Файл, не содержащий элементов – пустой.
Считываемая и записываемая информация представляет собой
последовательность байтов – поток (stream).
Поток – логическое устройство, являющееся источником или
приемником данных (устройство ввода-вывода, файл)
Когда поток открывается для ввода-вывода, он связывается со
стандартной структурой типа FILE, которая определена в stdio.h.
Структура FILE содержит необходимую информацию о файле.
3.
Различают текстовые и бинарные файлыТекстовые файлы содержат только последовательности строк, каждая
из которых заканчивается символом новой строки ‘\n’.
В конце последней строки этот символ не является обязательным.
Текстовый файл является переносимым: он может быть прочитан на
любой системе или ОС. Формат текстового файла прост и его можно
изменять текстовым редактором, который есть практически любой ОС.
Текстовый файл является структурой данных с последовательным
доступом.
Файлы с последовательным доступом читаются от начала к концу,
поэтому невозможно одновременно и считывать из них данные, и
записывать. Чтобы изменить одну запись файла последовательного
доступа, его нужно весь записать заново.
4. Открытие файла
Открытие файла осуществляется с помощью функции fopen().Функция возвращает указатель на структуру типа FILE, который можно
использовать для операций над файлом. Если обнаружена ошибка, то
возвращается значение NULL.
FILE *fopen(name, type)
Где name – имя открываемого файла, включая путь к нему
type – строка с указанием способа доступа к файлу
Пример.
FILE *f_1, *f_2;
f_1 = fopen(“my_file1.txt”,”w”);
f_2 = fopen(“my_file2.txt”,”r”);
5. Режимы открытия файла
Строка Способ доступа“w”
открыть пустой файл для записи; если файл существует, то его
содержимое стирается;
“r”
открыть файл для чтения (файл должен существовать);
“a”
открыть файл для записи в конец (для добавления); файл
создается, если он не существует;
“w+” открыть файл для чтения и записи; если файл существует, то его
содержимое стирается;
“r+”
открыть файл для чтения и записи (файл должен существовать);
“a+”
открыть файл для чтения и дополнения, если файл не
существует, то он создаётся.
Для работы с бинарным файлом необходимо добавить “b”
6. Закрытие файла
• При завершении работы программы поток закрываетсяавтоматически.
• Если файл открыт одним приложением, его не сможет открыть
другое, что необходимо учитывать при совместном
использовании ресурсов.
• После использования файла, его необходимо закрыть.
• Для закрытия файла используется функция
fclose(FILE *fp)
• Функция возвращает 0 в случае успешного выполнения. Любое
другое значение = ошибка.
• Функция разрывает связь указателя с внешним набором данных
7.
1. Структура типа FILE имеет поле – индикатор конца файла.Функция feof(FILE *fp) проверяет состояние индикатора
конца файла.
Возвращает 0, если конец файла достигнут.
2. Чтение символа из файла:
Функция fgetc(<поток>). Если достигнут конец файла или
возникла ошибка, возвращается константа EOF.
3. Запись символа в файл.
Функция fputs(<символ>,<поток>).
8.
• Функция fscanf() считывает данные из потока ввода. Имя потока(указатель на файл) указывается в качестве первого аргумента. Остальные
аргументы такие же как у функции scanf().
fscanf(<поток>,<“формат”>,<переменные>)
• Функция fprintf() записывает данные в поток вывода. Аналогична printf(),
первый аргумент — указатель на файл (поток).
fprintf(<поток>,<“формат”>,<переменные>)
• Функция fgets() предназначена для считывания строки из потока.
Считывает символы до ‘\n’ включительно, не больше указанного к-ва
символов. Возвращает адрес строки.
fgets(<указатель на строку>,<количество символов>,<поток>)
• Функция fputs() предназначена для записи строки в поток
fputs(<указатель на строку>,<поток>)
9. Пример.
Разработать программу, содержащуюследующее меню:
1. Создать текстовый файл
2. Добавить строку в конец файла
3. Вывести содержимое файла на экран
0. Выход.
10.
11.
12. Пример.
Разработать программу, реализующую следующее меню:1. Создать матрицу и записать ее в текстовый файл. (первые 2
числа в файле – размерность матрицы)
2. Создать массив и записать его в текстовый файл (первое
число в файле – размерность массива)
3. Считать массив из текстового файла.
4. Считать матрицу из текстового файла.
5. Умножить матрицу на массив и записать результат в
текстовый файл (первое число в файле – размерность
массива).
6. Вывести матрицу и массивы на экран
13.
14.
15.
16.
17.
18.
Разработать программу, реализующую следующее меню:1. Создать текстовый файл из нескольких строк.
2. Вывести содержимое файла (любого, с текстом или с матрицей – по
выбору) на экран
3. Добавить новую строку в файл
4. Посчитать среднюю длину слова в файле
5. Создать квадратную матрицу и записать ее в файл (первое число в
файле = размерность матрицы)
6. Считать матрицу из файла и вывести ее на экран (как матрицу)
7. Определить, что больше, сумма значений главной или побочной
диагонали матрицы. Вывести на экран суммы и бОльшую диагональ
0. Выход.
Программирование