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

cserver side programmingprogramming更新于 2024/11/5 15:19:00

文件是记录的集合(或)是硬盘上的一个位置,数据永久存储在其中。通过使用 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 );// 从文件中读取单个字符

写入文件的语法如下 −

int fputc( int c, FILE *fp ); // 将单个字符写入流

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

示例

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

#include <stdio.h>
#include <stdlib.h> // For exit()
int main(){
   FILE *fptr1, *fptr2;
   char filename[100], c;
   printf("输入要打开的文件名 
");    scanf("%s",filename);    // 打开一个文件进行读取    fptr1 = fopen(filename, "r");    if (fptr1 == NULL){       printf("无法打开文件 %s
", filename);       exit(0);    }    printf("输入要打开的文件名
");    scanf("%s", filename);    // 打开另一个文件进行写入    fptr2 = fopen(filename, "w");    if (fptr2 == NULL){       printf("无法打开文件 %s
", filename);       exit(0);    }    // 从文件读取内容    c = fgetc(fptr1);    while (c != EOF){       fputc(c, fptr2);       c = fgetc(fptr1);    }    printf("
内容已复制到 %s", filename);    fclose(fptr1);    fclose(fptr2);    return 0; }

输出

当执行上述程序时,它会产生以下结果 −

输入要打开以读取的文件名
file3.txt
输入要打开以写入的文件名
file1.txt
内容已复制到 file1.txt

相关文章