Как изменить строчные буквы на заглавные? - PullRequest
0 голосов
/ 27 февраля 2019

Как изменить символ lower case на символ верхнего погони, не используя такие функции, как isdigit, isupper, toupper, isalnum, isalpha или не прибавляя и не вычитаячисло 32. Также я должен использовать его в цикле while.

Например: если я введу букву b в .exe, она должна отправить мне сообщение «Помните, что имена собственные начинаются с заглавной, и вы должнынабрал ' B ' "

enter image description here

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Вы можете использовать это

 char c = 'A' (to lower case )
 c = c | 32   (TRY THIS..)
 c &= ~32     (as suggested by jejo) 

https://www.geeksforgeeks.org/case-conversion-lower-upper-vice-versa-string-using-bitwise-operators-cc/

https://www.geeksforgeeks.org/toggle-case-string-using-bitwise-operators/

0 голосов
/ 27 февраля 2019

Если ваша платформа имеет набор символов 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...