Текстовые файлы
Открытие файла
Режимы открытия файла
Закрытие файла
Пример.
Пример.
437.75K
Category: programmingprogramming

Семинар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. Выход.
English     Русский Rules