https://invisible-island.net/ncurses/man/
curs_inchstr(3x) Library calls curs_inchstr(3x)
inchstr, inchnstr, winchstr, winchnstr, mvinchstr, mvinchnstr,
mvwinchstr, mvwinchnstr - get a curses character string from a window
#include <curses.h>
int inchstr(chtype * chstr);
int inchnstr(chtype * chstr, int n);
int winchstr(WINDOW * win, chtype * chstr);
int winchnstr(WINDOW * win, chtype * chstr, int n);
int mvinchstr(int y, int x, chtype * chstr);
int mvinchnstr(int y, int x, chtype * chstr, int n);
int mvwinchstr(WINDOW * win, int y, int x, chtype * chstr);
int mvwinchnstr(WINDOW * win, int y, int x, chtype * chstr, int n);
winchstr extracts a curses character string from a curses window win,
starting at the cursor and stopping at the end of the line, and stores
it in chstr, terminating it with a null curses character. winchnstr
does the same, but copies at most n curses characters from win. A
negative n implies no limit; winchnstr then works like winchstr.
ncurses(3x) describes the variants of these functions.
These functions return OK on success and ERR on failure.
In ncurses, these functions fail if
o the curses screen has not been initialized,
o (for functions taking a WINDOW pointer argument) win is a null
pointer, or
o chstr is a null pointer.
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 winchnstr may be implemented as macros.
Reading a line that overflows the array pointed to by chstr and its
variants causes undefined results. Instead, use the n-infixed
functions with a positive n argument no larger than the size of the
buffer backing chstr.
inchnstr, winchnstr, mvinchnstr, and mvwinchnstr's acceptance of
negative n values is an ncurses extension.
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. It characterizes the strings stored by these
functions as containing "at most n elements" from a window, but does
not specify whether the string stored by these functions is null-
terminated.
SVr4 does not document whether it null-terminates the curses character
string it stores in chstr, and does not document whether a trailing
null curses character counts toward the length limit n.
SVr4 describes a successful return value only as "an integer value
other than ERR".
SVr3.1 (1987) introduced these functions.
curs_in_wchstr(3x) describes comparable functions of the ncurses
library in its wide-character configuration (ncursesw).
curses(3x), curs_inch(3x), curs_inwstr(3x)
ncurses 6.5 2025-10-20 curs_inchstr(3x)