EN JA
WCWIDTH(3)
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; 
}

関連項目

iswprint(3), wcswidth(3)

規格

wcwidth() 関数は、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。
August 17, 2004 FreeBSD