C++实现文件复制.cpp

/*C++实现文件复制*/

# include <iostream>

# include <fstream>

using namespace std;

int main(int argc , char* argv[])

{

//打开文件

    if (argc < 3){

    perror (“参数少于3个,不符合要求\n”);

    }

    fstream ifs (argv[1],ios::in);

    fstream ofs (argv[2],ios::out);    

//将文件指针定位到末尾,求取文件的长度,赋值给total

    ifs.seekg(0,ios::end);

    int total = ifs.tellg();

//重新定位文件指针到开始位置

    ifs.seekg(0,ios::beg);

    char buf[128];

//readCount为每次读取到的数据个数,count为读到的数据总数

    int readCount = 0;

    int count = 0;

//边读边写,直到读取的总数等于文件的长度结束

    while(count < total ){

        ifs.read(buf,sizeof(buf));

        readCount = ifs.gcount();

        count += readCount;

        ofs.write(buf,readCount);

    }

//关闭文件

    ifs.close();

    ofs.close();

}

// 执行时用 ./a.out file1 file2

    原文作者:东X哥
    原文地址: https://blog.csdn.net/u013796074/article/details/54099832
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞