如何在不使用lower caseisdigitisuppertoupperisalnum之类的函数或无需加或减数字32的情况下将isalpha字符更改为大写字符我也应该在while循环中使用它。


  例如:如果我在.exe中键入字母b,它应该发送
  我收到一条消息,说“记住专有名词以大写字母开头
  并且您应该输入“ B”


c++ - 如何将小写字母更改为大写字母?-LMLPHP

最佳答案

如果您的平台设置了ASCII字符集,则可以使用XOR来实现。

char c = 'a';
c ^= 32; // c will now contain 'A'


由于选择了ASCII值的方式,这是可能的。英文字母的小写和大写字母的十进制值之间的差异正好是32。

如果您的平台设置了EBCDIC字符集,则可以执行

char c = 'a';
c ^= 64; // c will now contain 'A'


由于上面提到的相同原因,它起作用,仅这次差异为64,而不是32。

07-24 09:44
查看更多