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

来源:互联网 发布:交换机端口安全配置 编辑:程序博客网 时间:2024/06/05 16:43

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 Makefilesrc=copy.cppdist=copysourceFile=source.tar.gztargetFile=target.tar.gzall:runcompile:${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