C语言复制文本文件

使用C语言编写一个简易的文本文件复制程序。

一个打开的文本文件在内存中就是顺序存放的字符流,只要将打开的文件用 fgetc( ) 函数按字符序列顺序读取,并用 fputc( ) 函数依次输出到另一个打开的文件中,就可以实现文本文件的复制。

代码清单 1:复制文件
#include <stdio.h>
#include <stdlib.h>
#define FILENAME_MAX 1024
int main( )
{
    char ch;
    FILE *sfp;    //原文件指针
    FILE *dfp;    //目标文件指针
    char sname[FILENAME_MAX];     //原文件名
    char dname[FILENAME_MAX];     //目标文件名
    printf("打开原文件:");
    scanf("%s",sname);
    printf("打开目标文件:");
    scanf("%s",dname);
    if((sfp = fopen(sname,"r")) == NULL)       //打开原文件
        printf("\a原文件打开失败!\n");
    else{
        if((dfp = fopen(dname,"w")) == NULL)   //打开目标文件
            printf("\a目标文件打开失败!\n");
        else{
            while((ch = fgetc(sfp)) != EOF){   //读取原文件中的字符
                putchar(ch);        //将字符显示在屏幕上
                fputc(ch,dfp);      //将字符写入目标文件
            }
            fclose(dfp);     //关闭目标文件
        }
        fclose(sfp);         //关闭原文件
    }
    system("pause");
    return 0;
}

运行结果为:

打开原文件:s.txt
打开目标文件:d.txt
ng js vue