名前 | 形式 | 機能説明 | 使用法 | 属性 | 関連項目
#include <euc.h>int csetlen(int codeset);
#include <widec.h>int wcsetno(wchar_t pc);
csetlen() と csetcol() は、ともにコードセット番号 codeset を取得します。コードセット番号は 0 、 1 、 2 、または 3 を指定してください。csetlen() 関数は、所定の拡張 UNIX コード (EUC) コードセットの文字 (コードセット 2 およびコードセット 3 用のシングルシフト文字 SS2 および SS3 を除く) を表現するのに必要なバイト数を返します。csetcol() 関数は、所定の EUC コードセットの文字がディスプレイ上で占めるカラム数を返します。
csetno() 関数は、最初のバイトが c である EUC 文字に対するコードセット番号 ( 0 、 1 、 2 、または 3 ) を返すマクロです。たとえば、
#include<euc.h> . . . x+=csetcol(csetno(c));によって、カウンタ x (カーソル位置など) は、最初のバイトが c の文字幅分増加します。
wcsetno() 関数は、所定のワイド文字 pc に対するコードセット番号 ( 0 、 1 、 2 、または 3 ) を返すマクロとして定義されています。たとえば、
#include<euc.h> #include<widec.h> . . . x+=csetcol(wcsetno(pc));によって、カウンタ x (カーソル位置など) は、ワイド文字 pc の幅だけ増加します。
これらの関数は、EUC ロケールだけに機能します。
cset() 、csetlen() 、csetcol() 、csetno() または wcsetno() 関数は setlocale(3C) がロケールの変更のために呼び出されていない限り、マルチスレッドアプリケーション上で安全に使用できます。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
MT レベル | 例外付き MT-Safe |