curs_addchstr.3x - Man Page

add a string of characters (and attributes) to a curses window


#include <curses.h>

int addchstr(const chtype *chstr);
int addchnstr(const chtype *chstr, int n);
int waddchstr(WINDOW *win, const chtype *chstr);
int waddchnstr(WINDOW *win, const chtype *chstr, int n);

int mvaddchstr(int y, int x, const chtype *chstr);
int mvaddchnstr(int y, int x, const chtype *chstr, int n);
int mvwaddchstr(WINDOW *win, int y, int x, const chtype *chstr);
int mvwaddchnstr(WINDOW *win, int y, int x, const chtype *chstr, int n);


These functions copy the (null-terminated) chstr array into the window image structure starting at the current cursor position. The four functions with n as the last argument copy at most n elements, but no more than will fit on the line. If n=-1 then the whole array is copied, to the maximum number of characters that will fit on the line.

The window cursor is not advanced. These functions work faster than waddnstr. On the other hand:

Return Value

All functions return the integer ERR upon failure and OK on success.

X/Open does not define any error conditions. This implementation returns an error if the window pointer is null.

Functions with a “mv” prefix first perform a cursor movement using wmove, and return an error if the position is outside the window, or if the window pointer is null.


All functions except waddchnstr may be macros.


These entry points are described in the XSI Curses standard, Issue 4.

See Also

curses(3X), curs_addstr(3X).

Comparable functions in the wide-character (ncursesw) library are described in curs_add_wchstr(3X).

Referenced By

The man pages addchnstr.3x(3), addchstr.3x(3), mvaddchnstr.3x(3), mvaddchstr.3x(3), mvwaddchnstr.3x(3), mvwaddchstr.3x(3), waddchnstr.3x(3) and waddchstr.3x(3) are aliases of curs_addchstr.3x(3).