Создать новый текстовый файл, являющийся объединением содержимого исходных файлов - C (СИ)
Формулировка задачи:
Смысл программы Ω Создать файл, являющийся результатом конкатенации (слияния) других файлов. Имя файла-результата и имена соединяемых файлов задаются пользователем. язык (Си) Ω
Снизу моя кривая программа . Нужно ввести с клавиатуры имена файлов . Программа найдет файлы с такими именами и соединит их в другой файл имя которого мы тоже вводим с клавиатуры
прошу переделать мой код. Так как в нем много косяков, на исправление которых у меня не хватает мозгов.
P.s. файлы находятся C:\fail\text1.txt C:\fail\text2.txt C:\fail\text3.txt
#include <stdio.h> #include <stdlib.h> int main() { int Sw; char a,b,c; printf("Введите имя первого файла"); printf("Введите имя второго файла"); printf("Введите имя нового файла"); { scanf("%s %s %с",&a,&b,&c); FILE* a; FILE* b; File* c; a = fopen(s, "r"); read_str(s); b = fopen(s, "r"); read_str(s); c = fopen(s, "w"); } { while ((sw = getc(a)) != EOF) putc(sw, c); fclose(a); } { while ((sw = getc(b)) != EOF) putc(sw, c); fclose(b); } fclose(c); }
Решение задачи: «Создать новый текстовый файл, являющийся объединением содержимого исходных файлов»
textual
Листинг программы
#include <stdio.h> int main() { int sw; char a[255], b[255], c[255]; printf("Введите имя первого файла"); printf("Введите имя второго файла"); printf("Введите имя нового файла"); scanf("%s %s %s", a, b, c); FILE* fa; FILE* fb; FILE* fc; fa = fopen(a, "r"); fb = fopen(b, "r"); fc = fopen(c, "w"); while ((sw = getc(fa)) != EOF) putc(sw, fc); fclose(fa); while ((sw = getc(fb)) != EOF) putc(sw, fc); fclose(fb); fclose(fc); }
Объяснение кода листинга программы
- В начале программы подключается стандартная библиотека C, которая содержит функции для работы с файлами и вводом-выводом.
- Затем определена функция main(), которая является точкой входа в программу.
- Внутри функции main() определены три переменные типа int и char: sw, a, b, c. Переменная sw используется для получения символов из файлов, а переменные a, b, c - для хранения имен файлов.
- С помощью функции printf() пользователю предлагается ввести имена трех файлов.
- С помощью функции scanf() считываются имена файлов и сохраняются в переменных a, b, c.
- Затем с помощью функции fopen() открываются файлы a, b, c для чтения и записи соответственно.
- Внутри двух циклов while с помощью функции getc() считываются символы из файлов a и b, а затем записываются в файл c с помощью функции putc().
- После окончания циклов while файлы a и b закрываются с помощью функции fclose().
- Затем закрывается файл c.
- В конце функции main() завершается выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д