curs_insch.3x - Man Page

insert a curses character in a window


#include <curses.h>

int insch(chtype ch);
int winsch(WINDOW *win, chtype ch);
int mvinsch(int y, int x, chtype ch);
int mvwinsch(WINDOW *win, int y, int x, chtype ch);


These functions insert the curses character ch at the cursor in the specified window win (or stdscr). The character previously at the cursor and any to its right move one cell to the right; the rightmost character on the line is discarded. The cursor does not advance.

Return Value

These functions return OK on success and ERR on failure.

Functions taking a WINDOW pointer argument fail if the pointer is NULL.

Functions prefixed with “mv” first perform cursor movement using wmove and fail if the position (y, x) is outside the window.


A terminal's insert_character (ich1) capability is not necessarily employed.

insch, mvinsch, and mvwinsch may be implemented as macros.


X/Open Curses, Issue 4, describes these functions.

SVr4 describes successful return values only as “an integer value other than ERR”.

See Also

curs_ins_wch(3X) describes comparable functions in the wide-character curses configuration.

curses(3X), terminfo(5)

Referenced By

The man pages insch.3x(3), mvinsch.3x(3), mvwinsch.3x(3) and winsch.3x(3) are aliases of curs_insch.3x(3).

2023-12-23 ncurses 6.4 Library calls