C++ STLのiswlower()関数とは?構文・戻り値・サンプルコードを徹底解説
C++標準テンプレートライブラリ(STL)におけるiswlower()関数は、指定されたワイド文字が小文字かどうかを判定するために使用される関数です。小文字でない場合、この関数は0(ゼロ)を返します。ASCIIコード97〜122に対応する「a」〜「z」が小文字のアルファベットに該当します。iswlower()関数は、C/C++ではcctypeヘッダー(ワイド文字を扱う場合はwctype.h)に定義されています。
iswlower()関数の構文
int iswlower(wint_t c)
パラメータ − cは判定対象となるワイド文字です。wint_t型にキャストして渡すか、ストリームの終端を表すWEOFを指定します。なお、wint_tは整数型です。
戻り値 − 渡された文字が小文字の場合は0以外の値(非ゼロ)を返し、小文字でない場合は0を返します。
使用例
入力 − string[] = Test Me
出力 − 文字列に小文字が含まれています
説明 − 与えられた文字列に対して、「a」〜「z」の範囲の小文字が含まれているかどうかをチェックしています。
入力 − string[] = Test Me
出力 − TEST ME
説明 − 与えられた文字列内の小文字をすべて大文字へ変換しています。
プログラムで用いるアプローチ
wchar_str型の変数に文字列を入力する
STLの組み込み関数iswlower()を使用して、文字列に小文字が含まれているかどうかを判定する
判定結果がtrueの場合は0以外の値を返し、falseの場合は0を返す
最終的な結果を表示する
サンプルコード
#include <stdio.h>
#include <wctype.h>
int main (){
int i=0;
wchar_t str[] = L"Test String.\n";
wchar_t c;
while (str[i]){
c = str[i];
if (iswlower(c)) c=towupper(c);
putwchar (c);
i++;
}
return 0;
}
実行結果
上記のコードを実行すると、次のような出力が得られます −
TEST STRING
このサンプルでは、文字列「Test String.」の各文字を順番に走査し、iswlower()関数によって小文字と判定された文字をtowupper()関数で大文字に変換しながら出力しています。このようにiswlower()は、ワイド文字列の文字種判別や大文字・小文字の変換処理など、テキスト処理の場面で非常に役立つ関数です。
-
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
-
C++のstrchr()関数とは?文字列から文字を検索する方法をわかりやすく解説
C++には、文字列操作を簡単に行うための標準ライブラリ関数が数多く用意されています。その中のひとつが strchr() 関数です。strchr() は、指定した文字列の中から特定の文字が最初に現れる位置を検索し、その位置へのポインタを返す関数です。この関数を使用するには、ヘッダーファイル <cstring> をインクルードする必要があります。strchr()関数の構文strchr() 関数の構文は以下のとおりです。char *strchr( const char *str, int c )各引数の意味は次のとおりです。str: 検索対象となる文字列(C言語形式のヌル終端文字列)c: