【问题标题】:How to change lower case to upper case char?如何将小写字符更改为大写字符?
【发布时间】:2019-07-20 18:03:45
【问题描述】:

如何将lower case 字符更改为大写字符,而无需使用isdigit、isupper、toupper、isalnum、isalpha 等函数,或者无需加减数字 32。我也应该在 while 循环中使用它。

例如:如果我在 .exe 中键入字母 b,它应该发送 给我一条消息,上面写着“记住专有名词以大写开头 你应该输入'B' "

【问题讨论】:

标签: c++ uppercase lowercase


【解决方案1】:

如果您的平台有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。

【讨论】:

    【解决方案2】:

    【讨论】:

    • 你应该提到这适用于ASCII编码的字符,这很常见,但它不是一个通用的解决方案。
    猜你喜欢
    • 2014-02-04
    • 2011-10-06
    • 2014-04-20
    • 2021-03-30
    • 2011-12-04
    • 2012-03-04
    • 2011-01-07
    • 1970-01-01
    • 2012-01-03
    相关资源
    最近更新 更多