- •По программированию с
- •Ответы на контрольные вопросы
- •Файл с точки зрения информатики и вычислительной техники:
- •Файл с точки зрения языка программирования с:
- •Виды файлов:
- •Текстовый файл vs. Бинарный файл:
- •Признак окончания файла:
- •Инициализация потока:
- •Структурный тип:
- •Режимы открытия файла:
- •Ошибки при открытии файла:
- •Функция закрытия файла:
- •Зачем закрывать файл:
- •Количество открытий файла:
- •Функции для ввода-вывода данных в текстовых файлах:
- •Различие между fprintf()/fread() и fscanf()/fwrite():
- •Текущая позиция указателя на поток:
- •Удаление/переименование открытого файла:
Ошибки при открытии файла:
• Файл не найден: Если файл не существует, функция fopen() вернет NULL.
• Недостаточно прав доступа: Если у программы недостаточно прав доступа к файлу, функция fopen() вернет NULL.
• Ошибка ввода-вывода: При возникновении ошибки ввода-вывода функция fopen() вернет NULL.
Указатель на поток = NULL:
Указатель на поток принимает значение NULL в следующих случаях:
• Файл не найден: Файл, который вы пытаетесь открыть, не существует.
• Недостаточно прав доступа: У вашей программы нет прав доступа к файлу.
• Ошибка ввода-вывода: Возникла ошибка при попытке открытия файла.
Функция закрытия файла:
Функция fclose() отвечает за закрытие файла.
Параметры функции fclose():
• файловый указатель: Указатель на поток, который нужно закрыть.
Зачем закрывать файл:
Закрытие файла после завершения работы с ним важно по следующим причинам:
• Освобождение ресурсов: Закрытие файла освобождает ресурсы операционной системы, которые были зарезервированы для этого файла.
• Сохранение данных: Закрытие файла гарантирует, что все изменения, внесенные в него, будут сохранены на диске.
• Предотвращение ошибок: Оставленный открытым файл может привести к ошибкам в других программах, которые пытаются получить к нему доступ.
Количество открытий файла:
Файл можно открыть в программе несколько раз, но для каждого открытия нужно использовать отдельный файловый указатель.
Функции для ввода-вывода данных в текстовых файлах:
• fprintf(): Записывает отформатированные данные в текстовый файл.
• fscanf(): Считывает отформатированные данные из текстового файла.
• fgets(): Считывает строку из текстового файла.
• fputs(): Записывает строку в текстовый файл.
Функции для ввода-вывода данных в бинарных файлах:
• fwrite(): Записывает данные в бинарный файл.
• fread(): Считывает данные из бинарного файла.
Различие между fprintf()/fread() и fscanf()/fwrite():
• fprintf() и fscanf() работают с текстовыми файлами, используя форматированные данные.
• fwrite() и fread() работают с бинарными файлами, используя байты.
Текущая позиция указателя на поток:
Текущая позиция указателя на поток можно определить с помощью функции ftell().
Перемещение указателя на поток:
Указатель на поток можно переместить с помощью функции fseek().
Константа EOF:
Константа EOF (End Of File) представляет собой специальное значение, которое обозначает конец файла. Она используется для проверки конца файла в циклах ввода-вывода.
Основные функции для работы с файлами:
• fopen(): Открытие файла.
• fclose(): Закрытие файла.
• fread(): Чтение данных из файла.
• fwrite(): Запись данных в файл.
• fscanf(): Считывание отформатированных данных из файла.
• fprintf(): Запись отформатированных данных в файл.
• fseek(): Перемещение указателя на файл.
• ftell(): Получение текущей позиции указателя на файл.
• remove(): Удаление файла.
• rename(): Переименование файла.
Функции для побайтовой обработки файлов:
• fgetc(): Считыв
Ает один байт из файла.
• fputc(): Записывает один байт в файл.
Функции rename() и remove():
• rename(): Переименовывает файл.
• remove(): Удаляет файл.
Объявление файлового указателя:
Для работы с функциями rename() и remove() не нужно объявлять файловый указатель, так как эти функции работают с именами файлов.
