Работа с файлами в C: fopen, чтение и запись

Описание основ работы с файлами в языке программирования Си: создание, запись и чтение данных.

Создание и открытие файла

Для работы с файлами используется указатель на файл, объявляемый так:

FILE *file;

Указатель file хранит информацию об открытом файле. Открытие файла осуществляется функцией fopen(). Она принимает два параметра:

  1. Путь к файлу: Строка с полным или относительным путём. Отсутствующий файл будет создан (при соответствующем режиме). Относительный путь указывает на расположение файла относительно директории проекта.
  2. Режим открытия: Строка, определяющая режим работы с файлом. Основные режимы:

    • "r": Чтение. Файл должен существовать.
    • "w": Запись. Существующий файл перезаписывается. Отсутствующий файл создаётся.
    • "a": Добавление. Данные добавляются в конец файла. Отсутствующий файл создаётся.

Пример открытия файла test.txt для записи:

file = fopen("test.txt", "w");

Важно: После работы с файлом его необходимо закрыть функцией fclose():

fclose(file);

Не закрытый файл может привести к потере данных и перегрузке системы.

Запись данных в файл

Для записи данных используется функция fprintf(). Она аналогична printf(), но записывает данные в указанный файл.

Пример записи текста:

fprintf(file, "Hello\n");
fprintf(file, "Hi\n");

Режим "w" перезаписывает файл при каждой записи. Режим "a" (append) добавляет данные в конец файла.

Пример добавления текста в режиме "a":

fprintf(file, "\nNew text\n");

Чтение данных из файла

Для чтения данных используется функция fgets(). Она считывает строку из файла и записывает её в указанный массив.

Пример чтения данных:

char line[255];
fgets(line, 255, file);
printf("%s", line);

fgets() считывает построчно. Для чтения всего файла fgets() вызывается в цикле до конца файла (возвращаемое значение fgets() равно NULL). Массив для хранения данных объявляется заранее.

Управление файлами в разных операционных системах

На macOS проблемы с созданием или доступом к файлам могут быть связаны с настройками проекта. В Visual Studio Code, на вкладке «Общие», установите флажок «Использовать собственную директорию для сохранения файлов» и укажите нужную директорию.

Работа с файлами важна во многих программах. Язык Си предоставляет эффективные функции для создания, открытия, записи и чтения данных. Не забывайте закрывать файлы после использования, чтобы избежать проблем.

Что будем искать? Например,программа