C用于将一个文件的内容复制到另一个文件的程序

文件是记录的集合(或)是硬盘上永久存储数据的位置。通过使用C命令,我们可以以不同的方式访问文件。

文件操作

可以使用C语言对文件执行的操作如下-

  • 命名文件。

  • 打开文件。

  • 从文件读取。

  • 写入文件。

  • 关闭文件。

语法

打开和命名文件的语法如下-

FILE *File pointer;

例如,FILE * fptr;

File pointer = fopen ("File name”, "mode”);

例如,fptr = fopen(“ sample.txt”,“ r”);

FILE *fp;
fp = fopen ("sample.txt”, "w”);

从文件读取的语法如下-

int fgetc( FILE * fp );// read a single character from a file

写入文件的语法如下-

int fputc( int c, FILE *fp ); // write individual characters to a stream

借助这些功能,我们可以将一个文件的内容复制到另一个文件中。

示例

以下是用于将一个文件的内容复制到另一个文件的C程序-

#include <stdio.h>
#include <stdlib.h> // For exit()
int main(){
   FILE *fptr1, *fptr2;
   char filename[100], c;
   printf("Enter the filename to open for reading \n");
   scanf("%s",filename);
   // Open one file for reading
   fptr1 = fopen(filename, "r");
   if (fptr1 == NULL){
      printf("Cannot open file %s \n", filename);
      exit(0);
   }
   printf("Enter the filename to open for writing \n");
   scanf("%s", filename);
   // Open another file for writing
   fptr2 = fopen(filename, "w");
   if (fptr2 == NULL){
      printf("Cannot open file %s \n", filename);
      exit(0);
   }
   // Read contents from file
   c = fgetc(fptr1);
   while (c != EOF){
      fputc(c, fptr2);
      c = fgetc(fptr1);
   }
   printf("\nContents copied to %s", filename);
   fclose(fptr1);
   fclose(fptr2);
   return 0;
}
输出结果

执行以上程序后,将产生以下结果-

Enter the filename to open for reading
file3.txt
Enter the filename to open for writing
file1.txt
Contents copied to file1.txt