wcwidth - Man Page

determine columns needed for a wide character


#define _XOPEN_SOURCE       /* See feature_test_macros(7) */
#include <wchar.h>

int wcwidth(wchar_t c);


The wcwidth() function returns the number of columns needed to represent the wide character c. If c is a printable wide character, the value is at least 0. If c is null wide character (L'\0'), the value is 0. Otherwise, -1 is returned.

Return Value

The wcwidth() function returns the number of column positions for c.


For an explanation of the terms used in this section, see attributes(7).

wcwidth()Thread safetyMT-Safe locale

Conforming to

POSIX.1-2001, POSIX.1-2008.

Note that glibc before 2.2.5 used the prototype

int wcwidth(wint_t c);


The behavior of wcwidth() depends on the LC_CTYPE category of the current locale.

See Also

iswprint(3), wcswidth(3)


This page is part of release 5.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Referenced By

curs_getcchar.3x(3), notcurses_cell(3), notcurses-demo(1), unicode(7), unigenwidth(1), wcswidth(3).

2021-03-22 GNU Linux Programmer's Manual