curs_insstr(3x) Library calls curs_insstr(3x)
insstr, winsstr, mvinsstr, mvinsnstr, insnstr, winsnstr, mvwinsstr,
mvwinsnstr - insert a string in a curses window
#include <curses.h>
int insstr(const char * str);
int winsstr(WINDOW * win, const char * str);
int mvinsstr(int y, int x, const char * str);
int mvwinsstr(WINDOW * win, int y, int x, const char * str);
int insnstr(const char * str, int n);
int winsnstr(WINDOW * win, const char * str, int n);
int mvinsnstr(int y, int x, const char * str, int n);
int mvwinsnstr(WINDOW * win, int y, int x, const char * str, int n);
winsstr inserts a string str before the character at the cursor in
window win as if by calling winsch(3x) for each char in str. No line
wrapping is performed. Characters to the right of the cursor are
shifted right; those at the right edge of the window may be lost.
winsstr stops inserting if it would have to wrap to the next line to
write the next char in str. The cursor position does not change (after
moving to (y, x), if specified). insnstr does the same, but inserts at
most n characters, or as many as possible (up to the end of the line)
if n is -1. 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 winsch(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 winsnstr may be implemented as macros.
X/Open Curses, Issue 4 describes these functions. It specifies no
error conditions for them.
Issue 4 distinguished insnstr and winsnstr from the other functions
documented above by stating they "do not perform wrapping". This was
probably an error, since it makes this group of functions inconsistent.
No implementation of curses documents this inconsistency, and Issue 7
removed it.
Issue 4 states that the entire string is inserted if n is less than 1.
This is probably an error, because it is inconsistent with other
functions such as waddstr(3x), and differs from the SVr4 curses and
Solaris xcurses implementations. Nevertheless, Issue 7 retains the
language.
SVr3.1 (1987) introduced winsstr and winsnstr.
curs_ins_wstr(3x) describes comparable functions of the ncurses library
in its wide-character configuration (ncursesw).
curses(3x), curs_inch(3x), curs_ins_wstr(3x), curs_util(3x)
ncurses 6.5 2024-07-27 curs_insstr(3x)