C言語/標準ライブラリ/wctype.h
- N2176 C17 ballot ISO/IEC 9899:2017 §7.30 Wide character classification and mapping utilities <wctype.h>:ワイド文字種分類及びワイド文字大文字小文字変換ユーティリティ[1]。
概説
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.1 Introduction:概説[2].
ヘッダー <wctype.h> は、1つのマクロを定義し、3つのデータ型と多くの関数を宣言しています。
宣言されている型は
wint_t
については、7.29.1 Extended multibyte and wide character utilities <wchar.h> // Intoroduction で述べた
wctrans_t
は、ロケール固有の文字マッピングを表す値を保持できるスカラ型
wctype_t
は、ローカル固有の文字の分類を表す値を保持できるスカラー型
定義されているマクロはWEOF(7.29 Extended multibyte and wide character utilities <wchar.h> に記載)。
宣言された機能は以下のように分類される。
- 広い文字分類を提供する関数
- 広義の文字分類を提供する拡張可能な関数。
- 広義の文字のケースマッピングを提供する関数。
- 広義の文字のマッピングを提供する拡張可能な関数。
wint_t型の引数を受け入れる本節記載のすべての関数について、その値はwchar_tとして表現可能であるか、またはマクロWEOFの値に等しくなければならない。この引数が他の値を持つ場合、その動作は未定義である。
これらの関数の動作は、現在のロケールのLC_CTYPEカテゴリの影響を受ける。
ワイド文字の分類ユーティリティー
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2 Wide character classification utilities:ワイド文字の分類ユーティリティー[3].
ヘッダ <wctype.h> は、ワイドキャラクタの分類に役立ついくつかの関数を宣言しています[3]。 印刷用ワイド文字とは、ローカル固有のワイド文字の集合の一つで、それぞれが表示装置の少なくとも一つの印刷位置を占めるものをいう。コントロールワイド文字とは、ローカル固有のワイド文字の集合のうち、プリントワイド文字ではないものを指します。
ワイド文字種分類関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1 Wide character classification functions:ワイド文字種分類関数[4].
- 本節の関数は、引数wcの値がその関数の記述に従っている場合に限り、0以外の値(真)を返す。
- 以下の各関数は、7.4.1 <ctype.h> Character classification functions の対応する文字分類関数が真を返す1バイト文字に(あたかもwctob関数を呼び出したかのように)対応する各ワイド文字に対して真を返す。ただし、iswgraph関数とiswpunct関数は、L' '以外のワイド文字で印刷ワイド文字とホワイトスペースワイド文字の両方であるものに関しては異なる場合がある。
- 例えば、isalpha(wctob(wc))という式がtrueと評価された場合、iswalpha(wc)の呼び出しもtrueを返します。しかし、isgraph(wctob(wc))という式が真と評価された場合(もちろんwc == L' 'では起こりえない)、iswgraph(wc)またはiswprint(wc)&& iswspace(wc)のいずれかが真となり、両方ではありません。
iswalnum 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.1 The iswalnum function[5].
- 形式
#include <wctype.h> int iswalnum(wint_t wc);
- 説明
- iswalnum関数は、iswalphaまたはiswdigitが真であるワイド文字を検査する。
iswalpha 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.2 The iswalpha function[6].
- 形式
#include <wctype.h> int iswalpha(wint_t wc);
- 説明
- iswalpha関数は、iswupperまたはiswlowerが真であるワイド文字、またはiswcntrl、iswdigit、iswpunct、iswspaceのいずれも真ではないローカル固有のアルファベットワイド文字のセットの1つであるワイド文字をテストします。
iswblank 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.3 The iswblank function[7].
- 形式
#include <wctype.h> int iswblank(wint_t wc);
- 説明
iswcntrl 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.4 The iswcntrl function[8].
- 形式
#include <wctype.h> int iswcntrl(wint_t wc);
- 説明
iswdigit 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.5 The iswdigit function[9].
- 形式
#include <wctype.h> int iswdigit(wint_t wc);
- 説明
iswgraph 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.6 The iswgraph function[10].
- 形式
#include <wctype.h> int iswgraph(wint_t wc);
- 説明
iswlower 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.7 The iswlower function[11].
- 形式
#include <wctype.h> int iswlower(wint_t wc);
- 説明
iswprint 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.8 The iswprint function[12].
- 形式
#include <wctype.h> int iswprint(wint_t wc);
- 説明
iswpunct 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.9 The iswpunct function[13].
- 形式
#include <wctype.h> int iswpunct(wint_t wc);
- 説明
iswspace 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.10 The iswspace function[14].
- 形式
#include <wctype.h> int iswspace(wint_t wc);
- 説明
iswupper 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.11 The iswupper function[15].
- 形式
#include <wctype.h> int iswupper(wint_t wc); 361)Note that the behavior of the iswgraph and iswpunct functions may differ from their corresponding functions in 7.4.1 with respect to printing, white-space, single-byte execution characters other than’ ’ .
- 説明
iswxdigit 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.1.12 The iswxdigit function[16].
- 形式
#include <wctype.h> int iswxdigit(wint_t wc);
- 説明
拡張可能なワイド文字種分類関数
[編集]拡張可能なワイド文字種分類関数( Extensible wide character classification functions )
[17]。
拡張可能なワイド文字種分類関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.2 Extensible wide character classification functions:拡張可能なワイド文字種分類関数[18].
関数 wctype および iswctype は、拡張性のある広義の文字分類と、前節(7.30.2.1)で述べた関数と同等のテストを行う。
iswctype 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.2.1 The iswctype function[19].
- 形式
#include <wctype.h> int iswctype(wint_t wc, wctype_t desc);
- 説明
- 返却値
前方参照: the wctype function (7.30.2.2.2).
wctype 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.2.2.2 The wctype function[20].
- 形式
#include <wctype.h> wctype_t wctype(const char *property);
- 説明
- 返却値
ワイド文字大文字小文字変換ユーティリティー
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.3 Wide character case mapping utilities:ワイド文字大文字小文字変換ユーティリティー[21].
ヘッダー <wctype.h> では、ワイド文字のマッピングに役立ついくつかの関数が宣言されています。
ワイド文字大文字小文字変換関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.3.1 Wide character case mapping functions:ワイド文字大文字小文字変換関数[22].
towlower 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.3.1.1 The towlower function[23].
- 形式
#include <wctype.h> wint_t towlower(wint_t wc);
- 説明
- 返却値
towupper 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.3.1.2 The towupper function[24].
- 形式
#include <wctype.h> wint_t towupper(wint_t wc);
- 説明
- 返却値
拡張可能なワイド文字大文字小文字変換関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.3.2 Extensible wide character case mapping functions[25].
関数 wctrans および towctrans は、前節(7.30.3.1)で述べた関数と同等の拡張可能な広義の文字マッピングおよび大文字小文字のマッピングを行う。
towctrans 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.3.2.1 The towctrans function[26].
- 形式
#include <wctype.h> wint_t towctrans(wint_t wc, wctrans_t desc);
- 説明
- 返却値
wctrans 関数
[編集]- N2176 C17 ballot ISO/IEC 9899:2017 §7.30.3.2.2 The wctrans function[27].
- 形式
#include <wctype.h> wctrans_t wctrans(const char *property);
- 説明
- 返却値
脚註
[編集]- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 326, §7.30 Wide character classification and mapping utilities. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 326, §7.30.1 Introduction. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ 3.0 3.1 N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 326, §7.30.2 Wide character classification utilities. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 326, §7.30.2.1 Wide character classification functions. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 327, §7.30.2.1.1 The iswalnum function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 327, §7.30.2.1.2 The iswalpha function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 327, §7.30.2.1.3 The iswblank function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 327, §7.30.2.1.4 The iswcntrl function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 327, §7.30.2.1.5 The iswdigit function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 328, §7.30.2.1.6 The iswgraph function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 328, §7.30.2.1.7 The iswlower function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 328, §7.30.2.1.8 The iswprint function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 328, §7.30.2.1.9 The iswpunct function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 328, §7.30.2.1.10 The iswspace function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 328, §7.30.2.1.11 The iswupper function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 329, §7.30.2.1.12 The iswxdigit function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 329, §7.30.2.2 Extensible wide character classification functions. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 329, §7.30.2.2 Extensible wide character classification functions. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 329, §7.30.2.2.1 The iswctype function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 329, §7.30.2.2.2 The wctype function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 330, §7.30.3 Wide character case mapping utilities. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 330, §7.30.3.1 Wide character case mapping functions. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 330, §7.30.3.1.1 The towlower function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 330, §7.30.3.1.2 The towupper function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 330, §7.30.3.2 Extensible wide character case mapping functions. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 330, §7.30.3.2.1 The towctrans function. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 331, §7.30.3.2.2 The wctrans function. オリジナルの2018-12-30時点によるアーカイブ。 .
参考文献
[編集]- 国際標準化機構/国際電気標準会議 ISO/IEC 9899:2018(en) Information technology — Programming languages — C(2018-07-05)
- 日本工業標準調査会(当時、現:日本産業標準調査会)『JISX3010 プログラム言語C』2003年12月20日改正