insstr(3NCURSES) Library calls insstr(3NCURSES)
NAME
insstr, winsstr, mvinsstr, mvinsnstr, insnstr, winsnstr, mvwinsstr,
mvwinsnstr - insert a string in a curses window
SYNOPSIS
#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);
DESCRIPTION
winsstr inserts a string str before the character at the cursor in win-
dow win as if by calling winsch(3NCURSES) 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 negative. ncurses(3NCURSES) describes the variants of these func-
tions.
RETURN VALUE
These functions return OK on success and ERR on failure.
In ncurses, they return ERR if
• win is NULL,
• str is NULL, or
• an internal winsch(3NCURSES) call returns ERR.
Functions prefixed with “mv” first perform cursor movement and fail if
the position (y, x) is outside the window boundaries.
NOTES
All of these functions except winsnstr may be implemented as macros.
EXTENSIONS
insnstr, winsnstr, mvinsnstr, and mvwinsnstr's acceptance of negative n
values is an ncurses extension.
PORTABILITY
Applications employing ncurses extensions should condition their use on
the visibility of the NCURSES_VERSION preprocessor macro.
X/Open Curses Issue 4 describes these functions. It specifies no error
conditions for them.
SVr4 describes a successful return value only as “an integer value other
than ERR”.
Issue 4 distinguished insnstr and winsnstr from the other functions doc-
umented above by stating they “do not perform wrapping”. This was prob-
ably an error, since it makes this group of functions inconsistent. No
implementation of curses manifests this inconsistency, and Issue 7 re-
moved the claim.
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 func-
tions such as waddstr, and differs from the SVr4 curses and Solaris
xcurses implementations. Nevertheless, Issue 7 retains the language.
HISTORY
SVr3.1 (1987) introduced winsstr and winsnstr and their variants.
SEE ALSO
ins_wstr(3NCURSES) describes comparable functions of the ncurses library
in its wide-character configuration (ncursesw).
ncurses(3NCURSES), inch(3NCURSES), ins_wstr(3NCURSES), util(3NCURSES)
ncurses 6.5 2025-02-01 insstr(3NCURSES)
Generated by dwww version 1.16 on Fri Oct 2 08:21:40 CEST 2026.