Merge contents of two files into a third file using C


This is a c program to merge the contents of two files into the third file.

For Example.

Input

java.txt is having initial content “Java is a programing language.”
kotlin.txt is having initial content “ kotlin is a programing language.”
ttpoint.txt is having initial content as blank

Output

files are merged
ttpoint.txt will have final content as “Java is a programing language. kotlin is a programing language.”

Algorithm

Begin
   Declare a[] array to the character datatype.
      Initialize a[] = "Java is a programing language.".
   Declare i of the integer datatype.
      Initialize i =0.
   Declare f1 as a pointer to the FILE type.
   Open a file “java.txt” to perform write operation using f1 pointer.
   while (a[i] != '\0')
      call fputc(a[i], f1) to put all data of a[] into f1 file object i++
   Close the f1 file pointer.
   Declare a[] array to the character datatype.
      Initialize b[] = " kotlin is a programing language.".
   Declare i of the integer datatype.
      Initialize j =0.
   Declare f2 as a pointer to the FILE type.
   Open a file “kotlin.txt” to perform write operation using f2 pointer.
   while (b[j] != '\0')
      call fputc(b[j], f1) to put all data of b[] into f2 file object j++
   Close the f2 file pointer.
   Open a file “java.txt” to perform read operation using f1 pointer.
   Open a file “ttpoint.txt” to perform write operation using f2 pointer.
   Declare f3 as a pointer to the FILE datatype.
   Open a file “ttpoint.txt” to perform write operation using f3 pointer.
   Declare a variable “c” to the character datatype.
   if (f1 == NULL || f2 == NULL || f3 == NULL) then
      print “couldn’t open the file.”
      Exit.
   While ((c = fgetc(f1)) != EOF) do
      Put all data of “c” variable into f3 file pointer using fputc() function.
   while ((c = fgetc(f2)) != EOF) do
      Put all data of “c” variable into f3 file pointer using fputc() function.
   Call fclose(f3) function to close the file pointer.
   Open the file ttpoint.txt using f3 file pointer.
   Print “Merged java.txt and python.txt into ttpoint.txt”
   while (!feof(f3))
      Call putchar(fgetc(f3)) function to print the content of f3 file pointer.
   Close the f1 file pointer.
   Close the f2 file pointer.
   Close the f3 file pointer.
End.

Example

#include <stdio.h>
#include <stdlib.h>
int main() {
   char a[] = "Java is a programing language.";
   int i=0;
   FILE *f1; // Open two files to be merged
   f1 = fopen("java.txt", "w");
   while (a[i] != '\0') {
      fputc(a[i], f1);
      i++;
   }
   fclose(f1);
   char b[] = "kotlin is a programing language.";
   int j =0;
   FILE *f2;
   f2 = fopen("kotlin.txt", "w");
   while (b[j] != '\0') {
      fputc(b[j], f2);
      j++;
   }
   fclose(f2);
   f1 = fopen("java.txt", "r");
   f2 = fopen("kotlin.txt", "r");
   FILE *f3 = fopen("ttpoint.txt", "w"); // Open file to store the result
   char c;
   if (f1 == NULL || f2 == NULL || f3 == NULL) {
      puts("Could not open files");
      exit(0);
   }
   while ((c = fgetc(f1)) != EOF) // Copy contents of first file to ttpoint.txt
   fputc(c, f3);
   while ((c = fgetc(f2)) != EOF) // Copy contents of second file to ttpoint.txt
   fputc(c, f3);
   fclose(f3);
   f3 = fopen("ttpoint.txt", "r");
   printf("Merged java.txt and kotlin.txt into ttpoint.txt\n");
   while (!feof(f3))
   putchar(fgetc(f3));
   fclose(f1); //closing the file pointer.
   fclose(f2);
   fclose(f3);
   return 0;
}

Output

Merged java.txt and kotlin.txt into ttpoint.txt
Java is a programing language.kotlin is a programing language.

karthikeya Boyini
karthikeya Boyini

I love programming (: That's all I know

Updated on: 30-Jul-2019

787 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements