https://invisible-island.net/ncurses/man/
curs_addwstr(3x) Library calls curs_addwstr(3x)
addwstr, waddwstr, mvaddwstr, mvwaddwstr, addnwstr, waddnwstr, mvaddnwstr, mvwaddnwstr - add a wide-character string to a curses window and advance the cursor
#include <curses.h> int addwstr(const wchar_t * wstr); int waddwstr(WINDOW * win, const wchar_t * wstr); int mvaddwstr(int y, int x, const wchar_t * wstr); int mvwaddwstr(WINDOW * win, int y, int x, const wchar_t * wstr); int addnwstr(const wchar_t * wstr, int n); int waddnwstr(WINDOW * win, const wchar_t * wstr, int n); int mvaddnwstr(int y, int x, const wchar_t * wstr, int n); int mvwaddnwstr(WINDOW * win, int y, int x, const wchar_t * wstr, int n);
waddwstr writes the characters of the (wide-null-terminated) wide- character string wstr to the window win, as if by constructing a cchar_t for each wchar_t in wstr, then calling wadd_wch(3x) with the resulting cchar_t. curses processes spacing and non-spacing characters in wstr one at a time. waddnwstr is similar, but writes at most n wide characters. If n is -1, waddnwstr writes the entire wide string. ncurses(3x) describes the variants of these functions.
These functions return OK on success and ERR on failure. In ncurses, they return ERR if o win is NULL, o wstr is NULL, or o an internal wadd_wch(3x) call returns ERR. 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 waddnwstr may be implemented as macros.
X/Open Curses, Issue 4 describes these functions.
The System V Interface Definition, Version 4 (1995), specified waddwstr and waddnwstr (and the usual variants). These were later additions to SVr4.x, not appearing in the first SVr4 (1989).
curs_addstr(3x) describes comparable functions of the ncurses library in its non-wide-character configuration. curses(3x), curs_add_wch(3x), curs_add_wchstr(3x) ncurses 6.5 2024-07-27 curs_addwstr(3x)