这是我想要做的。我有一系列字母表。
char defaultCharacters[] = {'A', 'B', 'C', 'D', 'E', ...., 'Z'};
所以我想做的是以下内容。 让我们说用户想要8char缩进,所以字母“A'将会是我的#39; 基本上是A + 8.
我应该怎么做,因为我不想将每个字母定义为另一个字母需要很多时间。谢谢!
答案 0 :(得分:4)
尝试:
char oldchar = 'A'; // check for a valid char from 'A' to 'Z'
char newchar = defaultCharacters[(oldchar + 8 - 'A') % 26];
但您需要先检查有效的oldchar
。
答案 1 :(得分:2)
你可以这样做
char defaultCharacters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH";
char new_char = defaultCharacters[old_char + 8 - 'A'];
或
char new_char = 'A' + (old_char + 8 - 'A') % 26;
但首先应该检查old_char
,即
if (old_char < 'A' || old_char > 'Z') { .... some error code
} else {
....
答案 2 :(得分:0)
看一下ASCII table,您根本不需要字母的数组:
const char input = std::cin.get();
const char output = (input - 'A' + 8) % 26 + 'A';