August 17, 2004 WCWIDTH 3

### NAME

wcwidth - number of column positions of a wide-character code

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```int` wcwidth(```wchar_t wc`)

### DESCRIPTION

The wcwidth(``) function determines the number of column positions required to display the wide character ```wc`.

### RETURN VALUES

The wcwidth(``) function returns 0 if the ```wc` argument is a nul wide character (L'\0'), -1 if ```wc` is not printable, otherwise it returns the number of column positions the character occupies.

### EXAMPLES

This code fragment reads text from standard input and breaks lines that are more than 20 column positions wide, similar to the fold(1) utility:

  `

      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;
      }

  `

### SEE ALSO

iswprint(3), wcswidth(3)

### STANDARDS

The wcwidth(``) function conforms to IEEE Std 1003.1-2001 (``POSIX.1'') .