0
我正在尝试创建一个vigenere密码,并且出现了分段错误。我是相当新的,如果有人能帮忙,我将非常感激。先谢谢你。Vigenere Cipher - Segmentation Fault
// Mukul Patel February 26, 2014
int my_key(string key)
{
int key_length = 0;
while (key[key_length] != '\0')
key_length++;
return key_length;
}
int main(int argc, string argv[])
{
if (argc != 2){
printf("Please only enter two arguments which are non-numerical\n");
return 1;
}
string key = argv[1];
string plaintext = GetString();
for (int i = 0, length = strlen(plaintext); i < length; i++){
for (int j = 0, n = my_key(argv[i]); j < n; j++){
if(isupper(plaintext[i]))
plaintext[i] = ((((plaintext[i] - 'A') + (key[j % strlen(key)] - 'A')) % ALPHABET) + 'A');
else if(islower(plaintext[i]))
plaintext[i] = ((((plaintext[i] - 'a') + (key[j % strlen(key)] - 'a')) % ALPHABET) + 'a');
else
plaintext[i] = plaintext[i];
printf("%c", plaintext[i]);
}
}
printf("\n");
return 0;
}
什么是输入? – EkoostikMartin
键:abcdabcd 明文:这是一个测试! – Mukul215
什么是字符串类型?我没有听说过C中的一个。什么是'GetString'?你是否#包含任何文件?他们是哪一个?他们是标准的吗?如果不是,他们的内容是什么? *简而言之:请提供一个[“简短,自包含,可编辑的示例”](http://www.sscce.org/)。* – ArjunShankar