前言:
想必大家都知道cp这个命令,现在我要给大家分享一个用命令行参数实现的cp覆盖命令
main函数的命令行参数:
int main(int argc,char* argv[])
{}
关于argc与argv[ ] 下面这张图可以助你理解
本图来自:https://blog.csdn.net/Boring_Wednesday/article/details/78954104
代码如下:
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc,char* argv[])
{
if(3 != argc)
{
cout << "该操作不存在" << endl;
}
else if(3 == argc)
{
fstream fs(argv[1],ios::in|ios::binary); //argv[1] 原文件
fstream fs1(argv[2],ios::out|ios::binary); //argv[2] 目标文件
char buf[1024] = {};
do{
fs.read(buf,sizeof(buf));
fs1.write(buf,fs.gcount());
}while(!fs.eof()); //eof() 判断输入流是否结束
if(fs1.good())
{
cout << "文件写入成功" << endl;
}
fs.close();
fs1.close();
}
}
执行指令:
g++ 文件名 -o cp //生成cp可执行文件
./cp source dest //完成cp命令