https://invisible-island.net/ncurses/man/
curs_addstr(3x) Library calls curs_addstr(3x)
addstr, waddstr, mvaddstr, mvwaddstr, addnstr, waddnstr, mvaddnstr, mvwaddnstr - add a string to a curses window and advance the cursor
#include <curses.h> int addstr(const char * str); int waddstr(WINDOW * win, const char * str); int mvaddstr(int y, int x, const char * str); int mvwaddstr(WINDOW * win, int y, int x, const char * str); int addnstr(const char * str, int n); int waddnstr(WINDOW * win, const char * str, int n); int mvaddnstr(int y, int x, const char * str, int n); int mvwaddnstr(WINDOW * win, int y, int x, const char * str, int n);
waddstr writes the characters of the (null-terminated) string str to the window win, as if by calling waddch(3x) for each char in str. waddnstr is similar, but writes at most n characters. If n is -1, waddnstr writes the entire 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 str is NULL, or o an internal waddch(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 waddnstr may be macros.
X/Open Curses, Issue 4 describes these functions. It specifies no error conditions for them.
4BSD (1980) curses introduced waddstr along with its variants, the latter defined as macros. SVr3.1 (1987) added waddnstr (and its variants) redefining waddstr as a macro wrapping it.
curs_addwstr(3x) describes comparable functions of the ncurses library in its wide-character configuration (ncursesw). curses(3x), curs_addch(3x), curs_addchstr(3x) ncurses 6.5 2024-07-27 curs_addstr(3x)