В последнем уроке я рассказал вам о программе для расчета количества пробелов, пробелов, табуляций и символов. Возможно, вы заметили, что я использовал аналогичную логику программы чтения файлов в этом руководстве. Сегодня я продолжу квест по изучению функции ввода-вывода файла, показывая вам программу для копирования содержимого из одного файла в другой.
Обработка файлов в C
C программа для копирования содержимого одного файла в другой файл
Перед написанием программы я хотел бы познакомить вас с одной новой функцией fputc (). Это противоположная часть функции fgetc (). Как следует из названия, эта функция используется для записи некоторого содержимого в файл. Рассмотрим программу ниже.
Выходные данные
Эта программа скопирует содержимое файла demo.txt в new.txt.
Объяснение
1. В этой программе я создал два указателя на файловую структуру, названные fsource и ftarget. Как следует из названия, они используются для исходных и целевых файлов. Я также объявил одну символьную переменную ch.
1. В этой программе я создал два указателя на файловую структуру, названные fsource и ftarget. Как следует из названия, они используются для исходных и целевых файлов. Я также объявил одну символьную переменную ch.
2. После этого я проверил, успешно ли открыт исходный файл для чтения или нет. Я использовал два заявления if для этого. Это можно проверить, поставив условие (file_pointer_name == NULL). Та же самая проверка может быть сделана для второго файла, который мы используем для записи.
3. Теперь я запустил цикл while и внутри него используется функция fgetc () для извлечения одного символа из исходного файла и записи этого символа в целевой файл с помощью функции fputc ().
4. Цикл while будет продолжаться, пока указатель файла fsource не достигнет конца файла demo.txt. Конец встречается, когда значение ch становится EOF.
5. В последнем я закрыл оба файла с помощью функций fclose ().
Примечание. Обычно мы используем буфер для записи некоторого содержимого в некоторый файл, потому что будет неэффективно обращаться к диску повторно для записи только одного символа. Функциональность буфера будет аналогична программе чтения файлов.
Режимы открытия файлов в C
В приведенном выше примере я открыл исходный файл с режимом чтения и целевой файл с режимом записи. Однако есть еще несколько режимов, доступных в C. Давайте также изучим их использование.
«R» - используется для чтения из файла. Он ищет файл на диске. В этом режиме fopen () возвращает NULL, если он не может открыть файл, в противном случае он устанавливает указатель так, чтобы он указывал на первый символ файла.
«W» - используется для записи в файл. Он ищет файл внутри диска, если его нет, он создает его на диске.
«А» - выполняет аналогичную задачу, как «ш». Используется для добавления, это означает, что он указывает указатель на конец файла для записи.
«R +» - открыть файл для чтения и записи. Файл должен уже существовать.
«W +» - открыть файл для чтения и записи. Создает новый файл, если файл не существует.
«+» - открыть файл для чтения и добавления цели.
Примечание. Во всех вышеперечисленных режимах, если функция fopen () по какой-либо причине не может открыть файл, она возвращает NULL.
Комментариев нет:
Отправить комментарий