C++ 文件读写(拷贝)/Makefile

1. C++ 代码 (copy.cpp)

#include<iostream>
#include<string>
#include<fstream>
using namespace std;

int main(int argc, char *argv[]){
        if(argc != 3){
                cerr<<"error: no source file or target file."<<endl;
                exit(-1);
        }

        ifstream sourceFile(argv[1]);
        ofstream targetFile(argv[2]);

        if(!sourceFile || !targetFile){
                cerr<<"error: sourceFile or targetFile open failed."<<endl;
                exit(-1);
        }

        string line;
/*
        while(sourceFile>>line){ //read a word each time
                targetFile<<line;
        }
*/

        while(getline(sourceFile, line)){
                targetFile<<line;
                if(!sourceFile.eof()) targetFile<<endl;
        }

        sourceFile.close();
        targetFile.close();
        return 0;
}
2. Makefile

[root@node14 io]# cat Makefile
src=copy.cpp
dist=copy

sourceFile=source.tar.gz
targetFile=target.tar.gz

all:run

compile:${src}
        g++ -g -w ${src} -o ${dist}

run:compile
        ./${dist} ${sourceFile} ${targetFile}

clean:
        -rm ${targetFile}
        -rm ${dist}
clear:
        @if [ -f ${targetFile} ] && [ -f ${dist}  ]; then\
                rm ${targetFile};\
                rm ${dist};\
        fi

3. 执行

       [root@node14 io]# make

[root@node14 io]# ll

[root@node14 io]# make clean    或者 make clear


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值