Mac Developer Library Developer
Search

 

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)

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

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.

Feedback