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