C++サンプル集

【第1部】C言語(K&R検証)編

0011.小文字に変換する

ソース紹介

CPPファイルに記述
#include <iostream>
#include <cstdio>
using namespace std;


/*
cを小文字に変換する
*/
char lower(char c) {
    if (c >= 'A' && c <= 'Z') {
        return c + 'a' - 'A';
    }
    else {
        return c;
    }
}

/*
小文字に変換する
*/
int main()
{
    char c;
    while ((c = cin.get()) != EOF) {
        cout << lower(c);
    }
    return 0;
}
出力
ABCDEFGH
abcdefgh
HELLO WORLD
hello world
^Z

サンプル説明

 前項では型変換のサンプルを紹介しました。
 今項では、大文字があったら小文字に変換するサンプルです。  lower()関数のような関数の使い道は意外と多く、例えば拡張子のチャックなどで、いったん小文字に変換してからチャックすると効率が良くなります。
 例えばWindowsは、画像ファイルに.JPG.jpgの区別はつけません。しかしLinuxでは区別されます。つまりabc.JPGabc.jpgは別のファイルになります。このような場合は、拡張子をすべて小文字に変換するなどの処理が必要です。こういう場合にlower()関数は使います。

K&Rでの記述

 元になったのは第2章:データ型・演算子・式に記述されています。型変換の説明のところです。