C99に対応した標準Cライブラリの実装レポートを行っていきます。

プロフィール 

Author:高木信尚

ホームページ
ブログ

最近の記事 

最近のコメント 

最近のトラックバック 

月別アーカイブ 

カテゴリー 

ブロとも申請フォーム 

この人とブロともになる

ホーム 全記事一覧 << 前の記事 次の記事 >>

 

2008/10/07 11:41|

 

<ctype.h>内で宣言される関数についての話が続いていますが、今回は制御文字の判別です。"C"ロケールでは、最低限サポートしなければならない制御文字は、逆斜線+英一文字で表現できる文字だけでよいのですが、ASCII、というかISO-646およびその上位互換の文字コードの場合、0x00〜0x1fおよび0x7fを制御文字として扱いますので、今回もそれにあわせることにします。

したがって、

static __inline__ int iscntrl(int c)
{
  return 0x00 <= c && c <= 0x1f || c == 0x7f;
}

のように記述してもよいのですが、とりあえずは表引きを使って、

static __inline__ int iscntrl(int c)
{
  return __ctype[c] & _CNTRL;
}

とすることにします。
2006/02/08 23:44|文字種別TB:0CM:0

コメント
コメントの投稿

管理者にだけ表示を許可する


トラックバック
トラックバックURLはこちら
http://libc.blog47.fc2.com/tb.php/25-f6473af9

ホーム 全記事一覧 << 前の記事 次の記事 >>

ブログ内検索 

お勧め書籍 

RSSフィード 

リンク 

このブログをリンクに追加する

Powered By FC2ブログ 

Powered By FC2ブログ
ブログやるならFC2ブログ

Copyright(C) 2006 TAKAGI Nobuhisa All rights reserved.
Powered by FC2ブログ. 無料ホームページ アフィリエイト レンタルサーバー FC2ブログ 一戸建て template designed by 遥かなるわらしべ長者への挑戦.