📄 cpp.cpp
字号:
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main(int argc,char* argv[])
{
if (argc==3) //如果输入3个命令
{
cout<<"Binding..."<<endl;
unsigned long size[3]={0,0,0};
ofstream final;
final.open("o.exe",ios::out | ios::binary );
//注意输入命令提示行的时候要输入全称,如“xx.exe”
for (int k=0;k<3;k++)
{
ifstream file;
file.open(argv[k], ios::in | ios::binary );
//如果打开失败
if (file.fail())
{
cout<<"fail...";
return 0;
}
while(!file.eof())
{ char ch=0;
file.get(ch);
size[k]+=1;
final.put(ch);
}
file.close();
}
//把3个文件的大小写入一个文本文件,在借压缩的时候有用(笨方法)
ofstream out_file;
out_file.open("KEY.txt");
for (k=0;k<3;k++)
out_file<<size[k]<<' ';
out_file.close();
final.close();
cout<<"Finished!!!"<<endl;
return 0;
}
else if(argc==1)
{
char ch2;
unsigned long m;
ifstream in_key_file; //打开流用来读文件大小
in_key_file.open("key.txt",ios::in);
if (in_key_file.fail())
{
cout<<"Can't find the 'key.txt'"<<endl;
return 0;
}
unsigned long in_size[3];
for (int i=0;i<3;i++)
in_key_file>>in_size[i];
//再打开两个流,用来创建临时的A和B应用程序
ifstream g_data_file;
ofstream p_data_file;
g_data_file.open(argv[0],ios::in | ios::binary);
p_data_file.open("AA.exe",ios::out | ios::binary);
//写A
g_data_file.seekg(in_size[0]);
m=in_size[0];
while (m!=(in_size[0]+in_size[1]))
{
g_data_file.get(ch2);
p_data_file.put(ch2);
m+=1;
}
p_data_file.close();
//写B
p_data_file.open("BB.exe",ios::out | ios::binary);
while (!g_data_file.eof())
{
g_data_file.get(ch2);
p_data_file.put(ch2);
}
p_data_file.close();
g_data_file.close();
system("AA.exe");
system("del AA.exe");
system("BB.exe");
system("del BB.exe");
return 0;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -