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++編を作成中です。
大文字や小文字のアルファベットが混在した文字列について、大文字や小文字に統一したいとします。当然、アルファベット以外の文字が変化してはいけません。
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名前空間内にある)。
新規作成。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |