【第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.JPGと
abc.jpgは別のファイルになります。このような場合は、拡張子をすべて小文字に変換するなどの処理が必要です。こういう場合に
lower()関数は使います。
K&Rでの記述
元になったのは
第2章:データ型・演算子・式に記述されています。
型変換の説明のところです。