📄 main.cpp
字号:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
using std::ifstream;
using std::ofstream;
bool encrypt(); //加密函数
bool decipher(); //解密函数
int main()
{
int b;
cout<<"输入0或1: 1对文件加密;0对文件解密."<<endl;
cin>>b;
if(b) encrypt();
else decipher();
return 0;
}
bool encrypt() //加密
{
ifstream fin("fin.txt",ios::in);
ofstream fout("fout.txt",ios::out);
char ch;
int n;
string string1,string2;
n=0;
while (fin>>ch)
{
if(n%2==0) //把下标是偶数的字符依次读入并赋给字符数组string1
string1+=ch;
else //把下标是奇数的字符依次读入并赋给字符数组string2
string2+=ch;
n++;
}
string1+=string2;
fout<<string1;
return true;
}
bool decipher() //解密
{
ifstream fin("fout.txt",ios::in);
ofstream fout("fin2.txt",ios::out);
char ch;
string string1,string2,string3;
while(fin>>ch) //把文件中的字符依次读入字符串string1中
string1+=ch;
int size=string1.size();
if (size%2==0) //如果字符串长度为偶数
{
string2=string1.substr(0,size/2); //把前size/2个字符赋给字符串string2
string3=string1.substr(size/2,size/2+1); //把剩余的字符赋给字符串string3
}
else //为奇数时
{
string2=string1.substr(0,size/2+1);
string3=string1.substr(size/2+1,size/2);
}
for(int i=0;i<size;i++) //输出翻译后的明文
fout<<string2[i]<<string3[i];
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -