add_wchstr, wadd_wchstr, mvadd_wchstr, mvwadd_wchstr, add_wchnstr, wadd_wchnstr, mvadd_wchnstr, mvwadd_wchnstr − add a curses complex character string to a window
#include <curses.h>
int
add_wchstr(const cchar_t * wchstr);
int wadd_wchstr(WINDOW * win, const cchar_t
* wchstr);
int mvadd_wchstr(int y, int x,
const cchar_t * wchstr);
int mvwadd_wchstr(WINDOW * win, int
y, int x, const cchar_t *
wchstr);
int
add_wchnstr(const cchar_t * wchstr, int
n);
int wadd_wchnstr(WINDOW * win, const cchar_t
* wchstr, int n);
int mvadd_wchnstr(int y, int x,
const cchar_t * wchstr, int n);
int mvwadd_wchnstr(WINDOW * win, int
y, int x,
const cchar_t * wchstr, int
n);
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. |
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.
All of these functions except wadd_wchnstr may be implemented as macros.
X/Open Curses Issue 4 describes these functions. It specifies no error conditions for them.
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.
curs_addchstr(3X) describes comparable functions of the ncurses library in its non-wide-character configuration.
curses(3X), curs_addwstr(3X), curs_add_wch(3X)