|
|
|
| 2008/10/07 11:45||▲
|
|
|
前回に引き続き、<ctype.h>内で宣言される関数の実装についてのお話です。前回は英数字の判別についてでしたので、今回はそれ以外の表示文字についてです。それ以外の表示文字というのは、具体的には、区切り文字と空白文字があります。早速コードを見てみましょう。
static __inline__ int ispunct(int c) { return __ctype[c] & _PUNCT; }
上記は、区切り文字の判別を行う関数です。区切り文字と英数字を含めた、表示文字かどうかの判別は次の関数で行います。
static __inline__ int isgraph(int c) { return __ctype[c] & (_LOWER|_UPPER|_DIGIT|_PUNCT); }
isgraph関数では、空白 ' ' は偽の扱いになります。空白 ' ' まで含めた表示文字の判別は、次の関数で行います。
static __inline__ int isprint(int c) { return __ctype[c] & (_LOWER|_UPPER|_DIGIT|_PUNCT|_BLANK); }
これらの関数を用いることで、表示文字、あるいは印字可能な文字かどうかの判別を行うことができます。
前回取り上げた関数同様、これらの関数も外部定義が必要になります。今後も、特に触れない限り、ヘッダ内でインライン関数として定義した関数は、別途外部関数を定義する必要が発生します。
|
| 2006/02/08 01:03|文字種別|TB:0|CM:0|▲
|
|
|
コメント
|
|
コメントの投稿
|
|
|
|
|
トラックバック
|
トラックバックURLはこちら
http://libc.blog47.fc2.com/tb.php/24-a9240325
|
|
|
|
|
ホーム
全記事一覧
<< 前の記事
次の記事 >>
|