C++
 Computer >> コンピューター >  >> プログラミング >> C++

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>ヘッダーをインクルードするだけで利用でき、入力値のチェックや文字列解析など、さまざまな場面で活用できます。大文字・小文字を区別した処理を実装する際に、ぜひ活用してみてください。

  1. C++ STLのcosh()関数とは?双曲線余弦の求め方をサンプルコード付きで解説

    cosh()関数とは? C++のSTLに組み込まれているcosh()関数は、ラジアン単位で与えられた角度の双曲線余弦(ハイパボリック・コサイン)を計算して返す関数です。使用するには、<cmath>ヘッダーをインクルードする必要があります。 双曲線余弦は、数学的に次の式で定義されます。 cosh(x) = (e^x + e^(-x)) / 2 構文 cosh()関数の構文は以下の通りです。 cosh(var) 構文から分かるように、cosh()関数はfloat型、double型、long double型のいずれかの引数varを受け取ります。そして、その双曲線余弦を返します。なお、引

  2. 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