見出し画像

C言語-#4.toupper, tolower

文字を大文字にしたり、小文字にしたりする関数

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) でうまく対応がとられていますのでこのようにすることが可能です。