≫ ホーム ≫ C言語ヘッダファイル別一覧 | C言語アルファベット別一覧 ≫ wctype.h ≫ iswctype
指定したワイド文字 (wide character) が指定した種別に属するかどうかを判定します.
#include <wctype.h>
int iswctype( wint_t wc, wctype_t desc );
iswctype 関数は文字 wc が desc で指定する種別に属するかどうかを判定します.
desc に指定できる種別と指定した場合の動作を以下に示します.
種別 | 意味 |
---|---|
wctype("alnum") | iswalnum 関数と同じ動作 |
wctype("alpha") | iswalpha 関数と同じ動作 |
wctype("blank") | iswblank 関数と同じ動作 |
wctype("cntrl") | iswcntrl 関数と同じ動作 |
wctype("digit") | iswdigit 関数と同じ動作 |
wctype("graph") | iswgraph 関数と同じ動作 |
wctype("lower") | iswlower 関数と同じ動作 |
wctype("print") | iswprint 関数と同じ動作 |
wctype("punct") | iswpunct 関数と同じ動作 |
wctype("space") | iswspace 関数と同じ動作 |
wctype("upper") | iswupper 関数と同じ動作 |
wctype("xdigit") | iswxdigit 関数と同じ動作 |
iswctype 関数はその時点のロケール (locale) の影響を受けます.
iswctype 関数 と wctype 関数を使用して入力された文字が英文字に対応するワイド文字かどうかをチェックするサンプルプログラムを以下に示します.
/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <wctype.h>
/* main */
int main(void) {
wint_t wc = getwchar();
wctype_t desc = wctype("alpha");
/* 入力チェック */
if ( iswctype(wc, desc) ) {
puts("入力された文字は英文字に対応するワイド文字です.");
} else {
puts("入力された文字は英文字に対応するワイド文字ではありません.");
}
return EXIT_SUCCESS;
}
サンプルプログラムの実行結果は以下のようになります.
(aを入力) 入力された文字は英文字に対応するワイド文字です. (Zを入力) 入力された文字は英文字に対応するワイド文字です. (9を入力) 入力された文字は英文字に対応するワイド文字ではありません.
たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.
C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります.
オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.
ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.