wadd_wchstr3
Add a curses complex character string to a window
Part of add_wchnstr(3).
Overview
wadd_wchstr copies the string of complex characters wchstr to the window win. A null complex character terminates the string. If a complex character does not completely fit at the end of the line, curses fills its remaining cells with the window's background character; see bkgrnd(3X). wadd_wchnstr does the same, but copies at most n characters, or as many as possible if n is -1. ncurses(3X) describes the variants of these functions.
Because these functions do not call wadd_wch(3X) internally, they are faster than waddwstr(3X) and waddnwstr(3X). On the other hand, they
- •
-
do not treat the backspace, carriage return, or line feed characters specially;
- •
-
do not represent unprintable characters with wunctrl(3X);
- •
-
do not update the cursor position to follow the last character written;
and
- •
-
truncate the string at the window's right margin, rather than wrapping it to the next line and potentially scrolling.
Return value
These functions return OK on success and ERR on failure.
In ncurses, these functions fail if
- •
-
thecurses screen has not been initialized,
- •
-
wchstr is a null pointer,
or
- •
-
(for functions taking a WINDOW pointer argument) win is a null pointer.
Functions prefixed with “mv” first perform cursor movement and fail if the position (y, x) is outside the window boundaries.
Notes
All of these functions except wadd_wchnstr may be implemented as macros.
Portability
X/Open Curses Issue 4 describes these functions. It specifies no error conditions for them.
History
- FreeBSD 16.0-CURRENT (2026-10-27) to FreeBSD 15.1-RELEASE: the text shown here
- FreeBSD 15.0-RELEASE
- FreeBSD 14.5-RELEASE
- FreeBSD 14.4-RELEASE to FreeBSD 14.2-RELEASE
- FreeBSD 14.1-RELEASE to FreeBSD 14.0-RELEASE
- FreeBSD 13.5-RELEASE to FreeBSD 13.0-RELEASE
- FreeBSD 12.4-RELEASE to FreeBSD 11.0-RELEASE
- FreeBSD 10.4-RELEASE to FreeBSD 6.3-RELEASE