如何将小写改为大写字母?

问题描述 投票:0回答:2

如何将lower case char更改为上追逐char而不必使用isdigitisuppertoupperisalnumisalpha等函数,或者无需添加或减去数字32.此外,我应该在while循环中使用它。

例如:如果我在.exe中键入字母b,它应该向我发送一条消息“请记住,专有名词以资本开头,你应该键入'B'”

enter image description here

c++ uppercase lowercase
2个回答
2
投票

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


1
投票
© www.soinside.com 2019 - 2024. All rights reserved.