C++ STLのiswupper()関数とは?構文・使い方・戻り値をわかりやすく解説
iswupper()関数とは
本記事では、C++のiswupper()関数について、その構文・動作・戻り値をサンプルコード付きで詳しく解説します。
iswupper()関数はC++に標準で用意されている組み込み関数で、<cwctype>ヘッダーファイル内で定義されています。この関数は、引数として渡されたワイド文字が大文字(A〜Z)であるかどうかを判定します。
iswupper()は、isupper()関数のワイド文字版に相当する関数です。isupper()と同じ働きをしますが、ワイド文字をサポートしている点が異なります。引数として渡された文字が大文字(A〜Z)であれば0以外の整数値(真)を返し、それ以外の場合は0(偽)を返します。
構文
int iswupper(wint_t ch);
パラメータ
この関数が受け取るパラメータは1つだけです。判定対象となるワイド文字を指定します。引数はwint_t型またはWEOFにキャストされて渡されます。
wint_t型は、整数型のデータを格納するための型です。
戻り値
この関数は整数値を返します。判定結果が偽(大文字ではない)の場合は0を、真(大文字である)の場合は0以外の値を返します。
使用例1:単一の文字を判定する
#include <iostream>
#include <cwctype>
using namespace std;
int main() {
wint_t a = 'A';
wint_t b = 'a';
wint_t c = 'B';
iswupper(a) ? cout << "Its upper case character" << endl : cout << "Not upper case character" << endl;
iswupper(b) ? cout << "Its upper case character" << endl : cout << "Not upper case character" << endl;
iswupper(c) ? cout << "Its upper case character" << endl : cout << "Not upper case character" << endl;
return 0;
}
出力結果
上記のコードを実行すると、以下のような出力が得られます。
Its upper case character
Not upper case character
Its upper case character
変数a('A')とc('B')は大文字のため「大文字である」と判定され、変数b('a')は小文字のため「大文字ではない」と判定されていることがわかります。
使用例2:文字列内の大文字をカウントする
#include <iostream>
#include <cwctype>
using namespace std;
int main() {
int i, count;
wchar_t s[] = L"I aM VisItinG TutOriAls PoInT";
count = i = 0;
while (s[i]) {
if (iswupper(s[i]))
count++;
i++;
}
cout << "There are " << count << " uppercase characters." << endl;
return 0;
}
出力結果
上記のコードを実行すると、以下のような出力が得られます。
There are 11 uppercase characters.
この例では、whileループを使って文字列を先頭から1文字ずつ走査し、iswupper()が真を返すたびにカウンターcountをインクリメントしています。その結果、文字列「I aM VisItinG TutOriAls PoInT」には大文字が11個含まれていることが判明しました。
まとめ
iswupper()関数は、ワイド文字が大文字かどうかを手軽に判定できる便利な関数です。<cwctype>ヘッダーをインクルードするだけで利用でき、入力値のチェックや文字列解析など、さまざまな場面で活用できます。大文字・小文字を区別した処理を実装する際に、ぜひ活用してみてください。
-
C++ STLのcosh()関数とは?双曲線余弦の求め方をサンプルコード付きで解説
cosh()関数とは? C++のSTLに組み込まれているcosh()関数は、ラジアン単位で与えられた角度の双曲線余弦(ハイパボリック・コサイン)を計算して返す関数です。使用するには、<cmath>ヘッダーをインクルードする必要があります。 双曲線余弦は、数学的に次の式で定義されます。 cosh(x) = (e^x + e^(-x)) / 2 構文 cosh()関数の構文は以下の通りです。 cosh(var) 構文から分かるように、cosh()関数はfloat型、double型、long double型のいずれかの引数varを受け取ります。そして、その双曲線余弦を返します。なお、引
-
C++ STLのsinh()関数の使い方を徹底解説
sinh()関数とはsinh()関数は、ラジアンで指定された値の双曲線正弦(ハイパボリックサイン)を返す関数です。C++のSTL(標準テンプレートライブラリ)に組み込まれており、<cmath>ヘッダをインクルードすることで利用できます。双曲線正弦は、以下の数式で定義されます。sinh(x) = (e^x − e^−x) / 2sinh()関数の構文sinh()関数の構文は以下のとおりです。sinh(var)構文からわかるように、sinh()関数はfloat型、double型、long double型のいずれかのパラメータvarを受け取ります。戻り値は、varの双曲線正弦です。sin