Создать новый текстовый файл, являющийся объединением содержимого исходных файлов - 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);
}

Объяснение кода листинга программы

  1. В начале программы подключается стандартная библиотека C, которая содержит функции для работы с файлами и вводом-выводом.
  2. Затем определена функция main(), которая является точкой входа в программу.
  3. Внутри функции main() определены три переменные типа int и char: sw, a, b, c. Переменная sw используется для получения символов из файлов, а переменные a, b, c - для хранения имен файлов.
  4. С помощью функции printf() пользователю предлагается ввести имена трех файлов.
  5. С помощью функции scanf() считываются имена файлов и сохраняются в переменных a, b, c.
  6. Затем с помощью функции fopen() открываются файлы a, b, c для чтения и записи соответственно.
  7. Внутри двух циклов while с помощью функции getc() считываются символы из файлов a и b, а затем записываются в файл c с помощью функции putc().
  8. После окончания циклов while файлы a и b закрываются с помощью функции fclose().
  9. Затем закрывается файл c.
  10. В конце функции main() завершается выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы