zooo 发表于 2015-12-17 19:57:08

C++实现复制文件操作

本帖最后由 zooo 于 2016-5-16 13:59 编辑

刚开始学习小甲鱼的教程,感觉讲的不错,第四讲中留得课后作业是实现复制文件的操作。之前论坛中看了一个实现方式,不过有点问题,于是自己尝试编了一个,测试可以实现对exe,txt,doc格式的文件进行复制。
#include <fstream>
#include <iostream>
using namespace std;
int main( int argc,char *argv[] )
{
        if( 3!=argc )
        {
                cerr<<"输入格式:copyFile.exe 源文件 目标文件"<<endl;
                return 0;
        }
        fstream in(argv,ios::in|ios::binary);
        if( !in )//如果没有找到文件则输出提示
        {
                cerr<<"打开"<<argv<<"失败"<<endl;
                in.close();
                return 0;
        }
       
        fstream out(argv,ios::out|ios::binary);
        if( !out )
        {
                cerr<<"打开"<<argv<<"失败"<<endl;
                out.close();
                return 0;
        }

        char temp;
        while( in.get(temp) )
        {
                out<<temp;
        }
        out<<endl;
        cout<<"成功复制文件"<<endl;
        in.close();
        out.close();
        return 0;
}

碎石子 发表于 2015-12-30 11:07:30

顶礼膜拜了

flafa 发表于 2015-12-30 22:52:39

1

jmuxiaolu 发表于 2015-12-31 08:56:13

看看

289084741 发表于 2016-3-13 12:31:51

看看

梦淡清云 发表于 2016-5-6 13:34:22

漂亮

james_qian 发表于 2016-5-8 23:40:32

看看

清音阁阁主 发表于 2016-5-9 01:11:50

文件复制是直接一个个字符流(二进制流)复制?

昨天的邂逅 发表于 2016-5-9 11:09:12

看看

zooo 发表于 2016-5-9 12:20:31

清音阁阁主 发表于 2016-5-9 01:11
文件复制是直接一个个字符流(二进制流)复制?

二进制流

skyseawing 发表于 2016-5-9 12:56:18

看一看{:5_91:}{:5_90:}

丶光明哥 发表于 2016-5-11 00:39:28

看看

晓阳 发表于 2016-5-11 07:58:20

不错 赞一个

sx5773 发表于 2016-5-11 14:13:07

自己写的不能复制中文字符,过来看看

上山砍柴去 发表于 2016-5-11 14:31:15

现在在学python, 等搞完python再来学这个。

hellozhulei 发表于 2016-5-15 08:47:02

看看学习学习

yanking 发表于 2016-5-16 11:40:51

看看

FlySelf 发表于 2016-7-26 02:02:20

楼主的这个程序有一个小问题,强迫症患者表示不能忍,
复制的文件比原文件多了一个字节,想来应该是 "out << endl;" 这一句导致的,
然后用16进制查看器打开发现多的一个字节内容是"0A",这个在Windows里面好像换行符,也应证了前面的猜想,
于是我把这一行注释掉再次测试,复制的文件和原文件就完全一样了。


最后,非常感谢楼主提供解决思路,我自己测试了好多方案都没有成功,直到看到这一篇帖子。



天外飞mao 发表于 2016-7-31 15:38:28

看看~~~

洵梦 发表于 2018-3-28 20:11:16

为啥我的电脑运行就直接显示输入格式的?
页: [1] 2
查看完整版本: C++实现复制文件操作