carta
wadd_wchstr(3)

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

•

the curses 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

History

X/Open Curses Issue 4 (1995) initially specified these functions. The System V Interface Definition Version 4 of the same year specified functions named waddwchstr and waddwchnstr (and the usual variants). These were later additions to SVr4.x, not appearing in the first SVr4 (1989). They differed from X/Open's later wadd_wchstr and wadd_wchnstr in that they each took an argument of type wchar_t instead of cchar_t.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's man source.