如何将lower case
字符更改为大写字符,而不必使用isdigit
,isupper
,toupper
,isalnum
,{ {1}},或者不必加或减数字32。我也应该在while循环中使用它。
例如:如果我在.exe中键入字母 b ,它应该发送 我收到一条消息,说“记住专有名词以大写字母开头 并且您应该输入' B '“
答案 0 :(得分: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 :(得分:1)
您可以使用此
char c = 'A' (to lower case )
c = c | 32 (TRY THIS..)
c &= ~32 (as suggested by jejo)
https://www.geeksforgeeks.org/toggle-case-string-using-bitwise-operators/