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 
");    scanf("%s",filename);    // Open one file for reading    fptr1 = fopen(filename, "r");    if (fptr1 == NULL){       printf("Cannot open file %s
", filename);       exit(0);    }    printf("Enter the filename to open for writing
");    scanf("%s", filename);    // Open another file for writing    fptr2 = fopen(filename, "w");    if (fptr2 == NULL){       printf("Cannot open file %s
", filename);       exit(0);    }    // Read contents from file    c = fgetc(fptr1);    while (c != EOF){       fputc(c, fptr2);       c = fgetc(fptr1);    }    printf("
Contents 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

更新于:2021年3月11日

19K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告