プロが教える店舗&オフィスのセキュリティ対策術

大文字⇔小文字の変換をしたいのですが、tolowerやtoupperを使わずにしたいのです。
「a」は16進数で61 「A」は16進数で41 なので20を引けば変換できると思うのですが、可能でしょうか?

A 回答 (2件)

文字コードとして ASCII を使っていることがわかっていれば, 0x20 を足したり引いたりすることで変換できます. ポータブル

じゃないことを認識していれば OK なんですけど, 正直 tolower や toupper を使うべきだと思います.
    • good
    • 0

> tolowerやtoupperを使わずにしたいのです。



なぜでしょうか?
単にtolowerやtoupperを使わないというだけであれば、towlowerやtowupperを使うという手もありますし、towctransを使ってもよいでしょう。
"C"ロケールかつASCIIであれば、isupper(c) ? (c - 'A' + 'a') : c のようなやり方もありですが、これでは移植性がありませんし、ロケールにも対応できません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!