7.160101.3381.02.08 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Зм. |
Аркуш |
№ Докум |
Підпис |
Дата |
|||||||||||||||||||||||||||||||||||||||||||||||||
Написание программ с использованием файловых операций |
Літ |
Лист |
Листів |
||||||||||||||||||||||||||||||||||||||||||||||||||
Студент |
у |
1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||
НУК ІАЕ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Викладач |
Попов |
||||||||||||||||||||||||||||||||||||||||||||||||||||
Лабораторная работа №8 Тема: Написание программ с использованием файловых операций Цель: Изучить функции для работы с файлами Теоретические сведения Файлы В языке С/С++ файлом считается все – от файла на диске до дисплея или принтера. Выполнив операцию открытия, поток можно связать с конкретным файлом, который можно использовать для обмена данными с программой. Не все файлы обладают одинаковыми возможностями. Например, файл на жестком диске предоставляет прямой доступ к своим записям, а некоторые принтеры – нет. Это приводит нас к следующему выводу: все потоки в файловой системе языка С одинаковы, а файлы могут различаться. При закрытии файла его связь с потоком разрывается. Если файл был открыт для записи, его содержимое записывается на внешнее устройство. Этот процесс обычно называют очисткой потока (flushing). Он гарантирует, что после закрытия файла в потоке не останется никакой случайно забытой информации. При нормальном завершении программы все файлы закрываются автоматически. Если работа программы была завершена аварийно, например вследствие ошибки или выполнения функции abort(), файлы не закрываются. Каждый поток, связанный с файлом, имеет управляющую структуру типа FILE, которую нельзя модифицировать. Если вы новичок в программировании различия между файлами и потоками могут показаться вам надуманными. Просто помните, что их единственное предназначение – обеспечить унифицированный интерфейс. При выполнении операций ввода-вывода следует мыслить терминами потоков, используя при этом единственную файловую систему. Она автоматически преобразует исходные операции ввода или вывода, связанные с конкретным физическим устройством, в легко управляемый поток. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
7.160101.3381.02.08 |
Лист |
||||||||||||||||||||||||||||||||||||||||||||||||||||
2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Зм. |
Лист |
№ док |
Подпись |
Дата |
|||||||||||||||||||||||||||||||||||||||||||||||||
Файловая система языка С состоит из нескольких взаимосвязанных функций. В таблице 1 приведены наиболее распространенные из них. Для их использования необходим заголовочный файл stdio.h. В программах на языке С++ можно также применять заголовочный файл <cstdio>. Таблица 1. наиболее распространенные функции ввода-вывода.
Указатель файла Указатель файла – это звено, связывающее между собой все компоненты системы ввода-вывода. Он представляет собой указатель на структуру, имеющую тип FILE. В этой структуре хранится информация о файле, в частности, его имя, статус и текущее положение курсора. По существу, указатель файла описывает конкретный файл и используется соответствующим потоко при выполнении операций ввода-вывода. Выполнить эти операции без указателя файла невозможно. Чтобы объявить указатель файла. Следует выполнить следующий оператор. FILE *fp; Открытие файла Функция fopen() открывает поток и связывает его с файлом. Затем она возвращает указатель на этот файл. Наиболее часто файлом считается физический файл, распо- |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
7.160101.3381.02.08 |
Лист |
||||||||||||||||||||||||||||||||||||||||||||||||||||
3 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Зм. |
Лист |
№ док |
Подпись |
Дата |
|||||||||||||||||||||||||||||||||||||||||||||||||
ложенный на диске. Прототип функции fopen() имеет следующий вид. FILE *fopen (const char *имя_файла, const char *режим); Здесь параметр имя_файла прелставляет собой указатель на строку символов, которая задает допустимое имя файла и может включить в себя описание пути к нему. Строка, на которую ссылается указатель режим, определяет предназначение файла. Допустимые значения параметра режим представлены в таблице 2. Таблица 2. Допустимые значения параметра режим.
Пример: FILE *fp; fp = fopen (“test”,”w”); Создает текстовый файл с именем test для записи в текущем каталоге. При неудачном открытии fopen() возвращает NULL. Закрытие файла Функция fclose() закрывает поток, открытый ранее функцией fopen(). Она записывает все оставшиеся в буфере данные в файл и закрывает его, используя команды операционной системы. Ошибка, возникшая при закрытии файла, может породить множество проблем, начиная с потери данных и разрушения файла и заканчивая непредсказуемыми последствиями для программ. Кроме того, функция |
||||||||||||||||||||||||||||||||
7.160101.3381.02.08 |
Лист |
|||||||||||||||||||||||||||||||
4 |
||||||||||||||||||||||||||||||||
Зм. |
Лист |
№ док |
Подпись |
Дата |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.