我是 c 新手,我正在编写一个程序,该程序将使用Caesar cipher加密文本文件。每当我运行它时,它只会将字母转换为 SOH 字符。
加密.c
char *lowerAlpha= "abcdefghijklmnopqrstuvxxyz";
char *upperAlpha= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int encrypt(int c, int amount)
{
char* alpha;
int retVal = c;
int i;
if(isalpha(c))
{
if(islower(c))
{
alpha = lowerAlpha;
i = (c - 'a' - amount) % 26;
retVal = alpha[i];
}
else if(isupper(c))
{
alpha = upperAlpha;
i = (c -'A' - amount) % 13;
retVal = alpha[i];
}
}
return retVal;
}
在我的主要方法是我使用的另一个文件中
encryptFile(inputfile, outputfile, 13);