C言語-#4.toupper, tolower
文字を大文字にしたり、小文字にしたりする関数
toupper
int toupper(int ch) {
if ('a' <= ch && ch <= 'z') {
return ch - ANK_ALPHA_BEGIN;
}
return ch;
}
tolower
int tolower(int ch) {
if ('A' <= ch && ch <= 'Z') {
return ch + ANK_ALPHA_BEGIN;
}
return ch;
}
了
ただの文字の加算減算になります。ANK_ALPHA_BEGINは別のところで (0x20) と(自分で)定義していて、空白を含む英字の開始番号となります。
番号は (0x20) でうまく対応がとられていますのでこのようにすることが可能です。
悉く書を信ずれば則ち書無きに如かず