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++程序,用于将一个文件的内容复制到另一个文件中,并展示了如何通过Makefile来构建和运行该程序。此外,还提供了清理目标文件的方法。
3901

被折叠的 条评论
为什么被折叠?



