Mac Developer Library Developer


This manual page is part of Xcode Tools version 5.0

To obtain these tools:

If you are running a version of Xcode Tools other than 5.0, view the documentation locally:

  • In Xcode

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

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

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

     Standard C Library (libc, -lc)

     #include <wchar.h>

     wcwidth(wchar_t wc);

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

     wcwidth_l(wchar_t wc, locale_t loc);

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

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

     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.

     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) {
                           column = 0;
                   if (ch == L'\n')
                           column = 0;
                   else if (w > 0)
                           column += w;

     iswprint(3), wcswidth(3), xlocale(3)

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

BSD                             August 17, 2004                            BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.