文件复制命令CP 的简单实现

文件复制在程序中经常会用到,不过最主要的是对文件的操作。
/*
    本程序所实现的功能为 【**.exe srcFile  desFile】 ,就是将srcFile 拷贝一份到desfile,
    所以在运行程序时必须在后面添加两个参数,第一个是已经存在的文件的路径,另一个是需要
    复制到的路径。
    本程序主要是利用文件操作函数中的 fgetc() 函数 与 fputc() 函数。

    函数说明:
        fgetc(FILE *fp):
            从流中读取一个字符,同时没取完一个字符fp 指针会自动指向下一个字符。
            当读取错误时会返回EOF。可以通过返回值判断当前文件是否读完。
        fputc(char ch, FILE *fp):
            向流中输入一个字符,与fgetc 相似,在每写入一个后fp 指向下一个,等待继续输入,或者
            流关闭

    在函数中我们还需要用到 fopen(char * fileName, char *type),第一个参数就是我们所需要的文件路径,
    第二个参数就是读取的方式。读取方式如下:
        r:只读方式打开一个文本,只允许读数据
        w:只写打开或建立一个文本文件,只允许写数据
        a:追加打开一个文本文件,并在文件末尾写数据
        rb:只读打开一个二进制文件,只读
        wb:只写打开,或建立一个二进制文件,只允许写数据
        ab:追加打开一个二进制文件,并在文件末尾写数据
        r+:读写打开一个文本文件,允许写和读
        w+:读写打开或建立一个文本文件,可以读和写
        a+:读写打开一个文本文件,允许读,或在文件末尾追加数据
        rb+:读写打开一个二进制文件,允许读和写
        wb+:读写打开或建立一个二进制文件,允许读和写
        ab+:读写打开一个二进制文件,允许读,或在文件末尾追加数据
    还有第二个函数fclose(FILE *fp) ,也就是关闭文件流,这个很重要

*/

#include<stdio.h>// 在这个头文件中包含了我们所需要的各个文件操作函数
int main(int argc, char* argv[])
{
    FILE *srcFile , *desFile;//定义两个文件指针
    if(argc != 3)// 判断参数输入是否满足要求
    {
        printf("Please input <%s srcFile desFile>",argv[0]);// 这个地方提示用户程序执行的正确方式
        return 0;
    }
    srcFile = fopen(argv[1],"rb");//以读取二进制的方式打开源文件
    if(srcFile == NULL)
    {
        printf("Source file open failure!!");
        return 0;
    }

    desFile = fopen(argv[2],"wb");//以写入二进制方式打开目标文件
    if(desFile == NULL)
    {
        printf("Destination file open failure!!");
        return 0;
    }
      /* start copy */
    while(!feof(srcFile))// 判断当前指针的指向是否为EOF
    {
        putc(getc(srcFile),desFile);
    }

    fclose(srcFile);
    fclose(desFile);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值