Программа копирования файла

CBeginner
Практиковаться сейчас

Введение

В этом лабораторном задании мы создадим C-программу для копирования содержимого одного файла в другой. Мы будем читать из исходного файла и записывать содержимое в целевой файл.

Структура файла

Создайте новый C-файл с именем main.c. В этом файле будет содержаться логика программы.

Подключите необходимые библиотеки

В нашей программе необходимо подключить библиотеку stdio.h, чтобы работать с файлами.

#include <stdio.h>

Объявите указатели на файлы

Нам необходимо объявить два указателя на файлы, один для исходного файла и один для целевого файла.

FILE *fp1, *fp2;

Откройте исходный файл

Нам необходимо открыть исходный файл для чтения. Если файл не может быть открыт, мы выведем сообщение об ошибке и выйдем из программы.

if ((fp1 = fopen("source.txt", "r")) == NULL) {
    printf("\nFile cannot be opened.");
    return;
}

Откройте целевой файл

Нам необходимо создать и открыть целевой файл для записи.

fp2 = fopen("destination.txt", "w");

Скопируйте содержимое файла

Мы будем читать исходный файл по одному символу и записывать его в целевой файл, пока не достигнем конца файла.

char ch;
while ((ch = fgetc(fp1))!= EOF) {
    fputc(ch, fp2);
}

Закройте файлы

После копирования содержимого нам необходимо закрыть оба файла.

fclose(fp1);
fclose(fp2);

Резюме

В этом практическом занятии мы узнали, как читать содержимое одного файла и записывать его в другой файл. Мы использовали функцию fopen() для открытия файлов и функции fgetc() и fputc() для чтения и записи содержимого файла. Важно закрывать файлы после завершения задачи с использованием функции fclose().