#wctype.h

wctype.h は、ctype.h の関数のワイド文字バージョンを提供します。

ワイドキャラクタ種別判定機能

次の関数はワイド文字のタイプを決定します。

  • iswalnum() はワイド文字が英数字かどうかをテストします
  • iswalpha() はワイド文字が文字かどうかをテストします
  • iswblank() は、これがワイド空白文字かどうかをテストします
  • iswcntrl() は、これがワイド制御文字であるかどうかをテストします。
  • iswdigital() は、このワイド文字が数字であるかどうかをテストします。
  • iswgraph() は、ワイド文字が印刷可能な非スペース文字であるかどうかをテストします。
  • iswwer() はワイド文字が小文字かどうかをテストします
  • iswprint() はワイド文字が印刷可能かどうかをテストします
  • iswpunct() はワイド文字が句読点であるかどうかをテストします
  • iswspace() はワイド文字がスペースかどうかをテストします
  • iswupper() はワイド文字が大文字かどうかをテストします
  • iswxdigital() は、ワイド文字が 16 進数かどうかをテストします。

wctype()、iswctype()

iswctype() は、前のセクションで説明したさまざまなワイド文字型判定関数の汎用バージョンであり、wctype() と組み合わせて使用​​する必要があります。

int iswctype(wint_t wc, wctype_t desc);

iswctype() は 2 つのパラメータを受け取ります。最初のパラメータは、タイプを決定する必要があるワイド文字です。2 番目のパラメータは、wctype() の戻り値から取得されます。

iswctype() は、ワイド文字が指定されたタイプの場合は 0 以外の値を返し、それ以外の場合は 0 を返します。

wctype() は、特定のタイプのワイド文字のタイプの説明を取得するために使用されます。

wctype_t wctype(const char* プロパティ);

wctype() のパラメータは指定された文字列であり、使用可能な値は次のとおりです: alnum、alpha、blank、cntrl、digit、graph、 lower、print、punct、space、upper、xdigit。

wctype() の戻り値は wctype_t 型で、通常は整数です。引数が無効な値の場合、「0」が返されます。

if (iswctype(c, wctype("digit")))
// と同等
if (iswdigital(c))

上の例は、ワイド文字 c が数値であるかどうかを判断するために使用されており、これは iswdigital() と同等です。

iswctype() の完全な型判定は以下の通りです。

iswctype(c, wctype("alnum")) // iswalnum(c) と同等
iswctype(c, wctype("alpha")) // iswalpha(c) と同等
iswctype(c, wctype("blank")) // iswblank(c) と同等
iswctype(c, wctype("cntrl")) // iswcntrl(c) と同等
iswctype(c, wctype("digit")) // iswdigit(c) と同等
iswctype(c, wctype("graph")) // iswgraph(c) と同等
iswctype(c, wctype(" lower")) // iswwer(c) と同等
iswctype(c, wctype("print")) // iswprint(c) と同等
iswctype(c, wctype("punct")) // iswpunct(c) と同等
iswctype(c, wctype("space")) // iswspace(c) と同等
iswctype(c, wctype("upper")) // iswupper(c) と同等
iswctype(c, wctype("xdigit")) // iswxdigit(c) と同等

大文字小文字変換関数

wctype.h は、次のワイド文字の大文字と小文字の変換関数を提供します。

  • towwer() は大文字のワイド文字を小文字に変換します
  • towupper() は小文字のワイド文字を大文字に変換します
  • towctrans() ワイド文字の大文字と小文字を変換するためのユニバーサル関数
  • 大文字と小文字を変換するための wctrans() 補助関数。 towctrans() と組み合わせて使用​​します。

まずはtowwer()towupper()の使用例を見てみましょう。

towwer(L'B') // b
towupper(L'e') // E

towctrans()wctrans()のプロトタイプは以下の通りです。

wint_t towctrans(wint_t wc, wctrans_t desc);
wctrans_t wctrans(const char* プロパティ);

以下にその使用例を示します。

towctrans(c, wctrans("toupper")) // towupper(c) と同等
towctrans(c, wctrans("to lower")) // towwer(c) と同等

作者: wangdoc

アドレス: https://wangdoc.com/

ライセンス: クリエイティブ・コモンズ 3.0