WCWIDTH(3) |
FreeBSD Library Functions Manual |
WCWIDTH(3) |
名称
wcwidth —
ワイド文字コードのカラム位置の数
ライブラリ
Standard C Library (libc, -lc)
書式
#include < wchar.h>
int
wcwidth( wchar_t wc);
解説
wcwidth() 関数は、ワイド文字
wc を表示する必要があるカラム位置の数を決定します。
戻り値
wcwidth() 関数は、
wc 引数がヌルワイド文字 (L'\0') であるなら 0 を返し、
wc が印刷可能でないなら、-1 を返し、さもなければ、それは、文字が占有するカラム位置の数を返します。
使用例
このコード断片は、標準の入力からテキストを読み込んで、
fold(1) ユーティリティと同様に、20 カラム位置以上の幅になれば行を改行します:
wint_t ch;
int column, w;
column = 0;
while ((ch = getwchar()) != WEOF) {
w = wcwidth(ch);
if (w > 0 && column + w >= 20) {
putwchar(L'\n');
column = 0;
}
putwchar(ch);
if (ch == L'\n')
column = 0;
else if (w > 0)
column += w;
}
規格
wcwidth() 関数は、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。