C语言 io-文件拷贝

#include <stdio.h>
int main(int argc, const char *argv[])
{
    //1文件拷贝到2文件
    FILE* fileA=fopen(argv[1],"r");
    FILE* fileB=fopen(argv[2],"w+");
    if(NULL==fileA){
        perror("fopen");
        return -1;
    }
    if(NULL==fileB){
        perror("fopen");
        return -1;
    }

    char c;
    puts("------开始拷贝fileA------");
    while((c=fgetc(fileA))!=EOF){
        putchar(c);
        fputc(c,fileB);
    }
    fclose(fileA);
    fclose(fileB);
    FILE* fileC=fopen(argv[2],"r");
    puts("\n------拷贝结束------");
    while((c=fgetc(fileC))!=EOF){
        putchar(c);
    }
    fclose(fileC);

    return 0;
}                                                  
#include <stdio.h>
int main(int argc,const char* argv[]){
    //fscanf/fprintf
    FILE* fileC=fopen(argv[1],"r");
    FILE* fileD=fopen(argv[2],"w+");
    if(NULL==fileC){
        perror("fopen");
        return -1;
    }
    if(NULL==fileD){
        perror("fopen");
        return -1;
    }
    char c;
    puts("------开始拷贝fileC------");
    while(fscanf(fileC,"%c",&c)!=EOF){
        printf("%c",c);
        fprintf(fileD,"%c",c);
    }
    fclose(fileC);
    puts("\n------拷贝结束------");
    fseek(fileD,0,SEEK_SET);
    while(fscanf(fileD,"%c",&c)!=EOF){
        printf("%c",c);                     
    }
    fclose(fileD);
}

 

#include <stdio.h>
int main(int argc, const char *argv[])
{
    //fgets fputs
    FILE* fileA=fopen(argv[1],"r");
    FILE* fileB=fopen(argv[2],"w+");
    if(NULL==fileA){
        perror("fopen");
        return -1;
    }   
    if(NULL==fileB){
        perror("fopen");
        return -1;
    }   
    
    char c[10];
    while(fgets(c,sizeof(c),fileA)!=NULL){
        fputs(c,fileB);
    }
    fclose(fileA);
    fclose(fileB);                               
    
    return 0;
}   

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值