[英]My cipher() function does not seem to support uppercase letters
這是我的功能:
// Helper function for cipher()
void cipherc(char& c, int key)
{
if (isupper(c)) {
c -= 'A';
} else {
c -= 'a';
}
c += key;
c %= MAX_KEY;
if (isupper(c)) {
c += 'A';
} else {
c += 'a';
}
}
我將其設計為支持大寫字母,盡管這樣做可以。 顯然我不知道我在做什么。 如果有人可以向我展示一種更好的方法來解決此問題或解決該問題,那就太好了。 我想(希望)使函數保持不變,采用char&
和int
並返回void
。
試試這樣的代碼:
char d = isupper(c) ? 'A' : 'a';
c -= d;
c += key;
c %= MAX_KEY;
c += d;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.