ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



WCWIDTH(3)               BSD Library Functions Manual               WCWIDTH(3)

NAME
     wcwidth, wcwidth_l -- number of column positions of a wide-character code

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <wchar.h>

     int
     wcwidth(wchar_t wc);

     #include <wchar.h>
     #include <xlocale.h>

     int
     wcwidth_l(wchar_t wc, locale_t loc);

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

     Although the wcwidth() function uses the current locale, the wcwidth_l() function may be passed a
     locale directly. See xlocale(3) for more information.

RETURN VALUES
     The wcwidth() function returns 0 if the wc argument is a null 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 posi-tions positions
     tions 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), xlocale(3)

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

BSD                             August 17, 2004                            BSD

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.