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


阅读更多
个人分类: C++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭