- ベストアンサー
大文字⇔小文字の変換
大文字⇔小文字の変換をしたいのですが、tolowerやtoupperを使わずにしたいのです。 「a」は16進数で61 「A」は16進数で41 なので20を引けば変換できると思うのですが、可能でしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
文字コードとして ASCII を使っていることがわかっていれば, 0x20 を足したり引いたりすることで変換できます. ポータブルじゃないことを認識していれば OK なんですけど, 正直 tolower や toupper を使うべきだと思います.
その他の回答 (1)
- jacta
- ベストアンサー率26% (845/3158)
回答No.2
> tolowerやtoupperを使わずにしたいのです。 なぜでしょうか? 単にtolowerやtoupperを使わないというだけであれば、towlowerやtowupperを使うという手もありますし、towctransを使ってもよいでしょう。 "C"ロケールかつASCIIであれば、isupper(c) ? (c - 'A' + 'a') : c のようなやり方もありですが、これでは移植性がありませんし、ロケールにも対応できません。