📄 cryption.cpp
字号:
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
char convert(int a)
{
char c;
c=a;
return c;
}
int convert2(char c)
{
int a;
a=c;
return a;
}
void main()
{
int flag1=0,flag2=0;
double c=0;
FILE *pw,*kw,*sw;
char p_letter,k_letter,s_letter,pwfn[10],kwfn[10],swfn[10];
printf("输入明文所在文件名(mingwen.txt):");
scanf("%s",pwfn);
printf("输入密钥所在文件名(miyue.txt):");
scanf("%s",kwfn);
printf("输入密文所在文件名(miwen.txt):");
scanf("%s",swfn);
pw=fopen(pwfn,"r");
if(pw==NULL)
{
printf("CANNOT OPEN PW FILE!");
exit(0);
}
kw=fopen(kwfn,"r");
if(kw==NULL)
{
printf("CANNOT OPEN KW FILE!");
exit(0);
}
sw=fopen(swfn,"w");
if(sw==NULL)
{
printf("CANNOT OPEN SW FILE!");
exit(0);
}
while(!feof(pw))
{
p_letter=char(fgetc(pw));
if(feof(pw))
break;
if(isalpha(p_letter))
{
if(isupper(p_letter))
p_letter=p_letter+32;
}
else
{
if(isspace(p_letter))
p_letter=fgetc(pw);
}
k_letter=char(fgetc(kw));
if(feof(kw))
{
rewind(kw);
k_letter=char(fgetc(kw));
}
if(isalpha(k_letter))
{
if(isupper(k_letter))
k_letter=k_letter+32;
}
else
{
if(isspace(k_letter))
k_letter=fgetc(kw);
}
c=fmod(p_letter-97+k_letter-97,26)+97;
s_letter=convert2(c);
fputc(s_letter,sw);
}
fclose(sw);
fclose(kw);
fclose(pw);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -