文字列を大文字化・小文字化する | Programming Place Plus C++編 逆引き 

トップページC++編逆引き

C++編で扱っている C++ は 2003年に登場した C++03 という、とても古いバージョンのものです。C++ はその後、C++11 -> C++14 -> C++17 -> C++20 -> C++23 と更新されています。
なかでも C++11 での更新は非常に大きなものであり、これから C++ の学習を始めるのなら、C++11 よりも古いバージョンを対象にするべきではありません。特に事情がないなら、新しい C++ を学んでください。 当サイトでは、C++14 をベースにした新C++編を作成中です。

目的

大文字や小文字のアルファベットが混在した文字列について、大文字や小文字に統一したいとします。当然、アルファベット以外の文字が変化してはいけません。

方法①(std::transform関数を使う)[C++03~]

C++ の標準ライブラリには、ある範囲内の要素に対して変換処理を行う std::transform関数があり、これを利用できます。

次のサンプルプログラムは、文字列を大文字化しています。

#include <algorithm>
#include <cctype>
#include <iostream>
#include <string>

int main()
{
    std::string s("aB3Cde_fG");

    std::transform(s.begin(), s.end(), s.begin(), std::toupper);
    std::cout << s << std::endl;
}

実行結果:

AB3CDE_FG

変換のための関数(std::transform関数の第4引数)には、C言語の toupper関数tolower関数を使えます(C++ では std名前空間内にある)。


参考リンク


更新履歴

’2017/6/5 新規作成。



逆引きのトップページへ

C++編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る