Осуществить конкатенацию двух файлов за счёт создания третьего файла - C (СИ) (76490)
Формулировка задачи:
Задание: Осуществить конкатенацию двух файлов за счёт создания третьего файла
"filecopy(in1, in3);" в этой строчке компилятору что-то не нравиться. Помогите, пожалуйста, разобраться
"char* ptt[]" что значит это во второй строчке?
#include <stdio.h> int main(char* ptt[]) { FILE *in1, *in2, *in3; in1 = fopen(ptt[1],"r"); // чтение in3 = fopen(ptt[3],"w"); // запись filecopy(in1, in3); fclose(in1); in2 = fopen(ptt[2],"r"); filecopy(in2,in3); fclose(in2); fclose(in3); return 0; }
Решение задачи: «Осуществить конкатенацию двух файлов за счёт создания третьего файла»
textual
Листинг программы
#include<stdio.h> #include<conio.h> #include<stdlib.h> void main(int arg,char *arr[]) { FILE *f1,*f2,*f3; char ch; if(arg!=4) { printf("Argument Missing ! Press key to exit."); getchar(); exit(0); } f1 = fopen(arr[1],"r"); if(f1==NULL) { printf("Cannot open source file ! Press key to exit."); getchar(); exit(0); } f2 = fopen(arr[2],"r"); if(f2==NULL) { printf("Cannot open source file ! Press key to exit."); getchar(); exit(0); } f3 = fopen(arr[3],"w"); if(f3==NULL) { printf("Cannot copy file ! Press key to exit."); fclose(f1); fclose(f2); getchar(); exit(0); } while(1) { ch = getc(f1); if(ch==EOF) break; else putc(ch,f3); } while(1) { ch = getc(f2); if(ch==EOF) break; else putc(ch,f3); } printf("File copied succesfully!"); fclose(f1); fclose(f2); fclose(f3); }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяется входная аргументация программы
- Открываются первый и второй файлы для чтения
- Проверяется успешность открытия файлов
- Если файлы не открылись, выводится сообщение об ошибке и программа завершается
- Открывается третий файл для записи
- Проверяется успешность открытия файла
- Если файл не открылся, выводится сообщение об ошибке, закрываются первый и второй файлы, и программа завершается
- Если все файлы успешно открылись, то начинается процесс чтения и записи данных
- Пока не достигнут конец первого файла (EOF), считывается очередной символ и записывается в третий файл
- После достижения конца первого файла, начинается чтение второго файла по тем же условиям
- Пока не достигнут конец второго файла (EOF), считывается очередной символ и записывается в третий файл
- После достижения конца второго файла, закрываются все три файла
- Выводится сообщение о успешном копировании файла
- Программа завершается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д