Скопировать содержимое одного файла в другой файл - C (СИ) (71155)
Формулировка задачи:
Скопировать содержимое одного файла в другой файл. Для копирования использовать функции блочного ввода-вывода. Файл необходимо открыть в двоичном
режиме.
Решение задачи: «Скопировать содержимое одного файла в другой файл»
textual
Листинг программы
FILE* input, * output;
char buffer[BUFSIZ];
size_t nread;
input = fopen("input", "rb");
output = fopen("output", "wb");
while(nread = fread(buffer, sizeof(char), sizeof(buffer), input))
fwrite(buffer, sizeof(char), nread, output);
Объяснение кода листинга программы
- Включаемые заголовочные файлы: В данном коде не подключаются никакие заголовочные файлы.
- Указание типов переменных: В данном коде присутствуют следующие указания типов переменных:
FILE*- указатель на файловый потокchar buffer[BUFSIZ];- массив символов (строка)size_t nread;- переменная типаsize_t, которая будет использоваться для хранения количества прочитанных символов
- Выделение памяти под файловые потоки: Используется оператор
fopenдля открытия файловinputиoutput. Результатом работы функцииfopenявляется файловый поток, который будет использоваться для чтения из и записи в файл соответственно. - Чтение из файла: Используется функция
freadдля чтения из файла в буфер символов. В данном случае, предполагается, что файлinputсодержит только символы (не символы переноса строки). - Запись в файл: Используется функция
fwriteдля записи из буфера символов в файлoutput. - Цикл чтения и записи: В данном коде используется цикл
while, который будет выполняться до тех пор, пока функцияfreadуспешно читает символы из файла. - Вывод сообщения об ошибке и закрытие файлов: В данном коде не предусмотрена обработка ошибок, поэтому при возникновении ошибки в работе функций
fopen,freadилиfwrite, программа может аварийно завершиться.