man-pages/man3/wcwidth.3

71 lines
1.7 KiB
Groff

.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\" %%%LICENSE_END
.\"
.\" References consulted:
.\" GNU glibc-2 source code and manual
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
.TH WCWIDTH 3 2014-01-22 "GNU" "Linux Programmer's Manual"
.SH NAME
wcwidth \- determine columns needed for a wide character
.SH SYNOPSIS
.nf
.BR "#define _XOPEN_SOURCE" " /* See feature_test_macros(7) */"
.B #include <wchar.h>
.sp
.BI "int wcwidth(wchar_t " c );
.fi
.SH DESCRIPTION
The
.BR wcwidth ()
function returns the number of columns
needed to represent the wide character
.IR c .
If
.I c
is a printable wide character, the value
is at least 0.
If
.I c
is null wide character (L\(aq\\0\(aq), the value is 0.
Otherwise, \-1 is returned.
.SH RETURN VALUE
The
.BR wcwidth ()
function returns the number of
column positions for
.IR c .
.SH ATTRIBUTES
.SS Multithreading (see pthreads(7))
The
.BR wcwidth ()
function is thread-safe with exceptions.
It can be safely used in multithreaded applications, as long as
.BR setlocale (3)
is not called to change the locale during its execution.
.SH CONFORMING TO
POSIX.1-2001.
Note that glibc before 2.2.5 used the prototype
.br
.nf
.BI "int wcwidth(wint_t " c );
.fi
.SH NOTES
The behavior of
.BR wcwidth ()
depends on the
.B LC_CTYPE
category of the
current locale.
.SH SEE ALSO
.BR iswprint (3),
.BR wcswidth (3)