wcwidth — 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).

Interface Attribute Value
wcwidth() Thread safety MT-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.04 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), unicode(7), unigenwidth(1), wcswidth(3).

2019-03-06 GNU Linux Programmer's Manual