使用 C 将两个文件的内容合并到第三个文件中


这是一个 C 程序,用于将两个文件的内容合并到第三个文件中。

例如。

输入

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

输出

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

算法

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.

范例

#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;
}

输出

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

更新于: 30-Jul-2019

897 次浏览

开启你的 职业

完成课程并获得认证

开始学习
广告
© . All rights reserved.