curs_instr.3x - Man Page
get a string from a curses window
Synopsis
#include <curses.h> int instr(char * str); int winstr(WINDOW * win, char * str); int mvinstr(int y, int x, char * str); int mvwinstr(WINDOW * win, int y, int x, char * str); int innstr(char * str, int n); int winnstr(WINDOW * win, char * str, int n); int mvinnstr(int y, int x, char * str, int n); int mvwinnstr(WINDOW * win, int y, int x, char * str, int n);
Description
winstr extracts a string from a curses window win, starting at the cursor and stopping at the end of the line, and stores it in str, terminating it with a null character and omitting any attributes and color pair identifier that curses associates with each character. winnstr does the same, but copies at most n characters from win. An n of -1 implies no limit; winnstr then works like winstr. ncurses(3X) describes the variants of these functions.
Return Value
These functions return the count of characters copied from win to str, or ERR upon failure.
In ncurses, they return ERR if
- win is NULL or
- str is NULL.
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 winnstr may be implemented as macros.
Reading a line that overflows the array pointed to by str with instr, winstr, mvinstr, or mvwinstr causes undefined results. Use of innstr, winnstr, mvinnstr, and mvwinnstr is recommended instead.
Extensions
innstr, winnstr, mvinnstr, and mvwinnstr's treatment of -1 as a valid value of n 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.
X/Open Curses Issues 4 and 7 both state that instr, winstr, mvinstr, and mvwinstr return OK rather than a character count. This is likely an erratum.
- SVr3.1 and SVr4 implemented winstr as a wrapper around winnstr, returning the latter's return value. X/Open Curses's specification thus may have been an editorial solecism copied from System V's documentation (see below) by X/Open, rather than an intentional change.
- ncurses retains compatibility with System V curses behavior.
SVr4 documents no return values apart from OK and ERR for any of these functions. SVr4 does not document whether n counts the null terminator that these functions write to str.
History
SVr3.1 (1987) introduced these functions.
See Also
curs_inwstr(3X) describes comparable functions of the ncurses library in its wide-character configuration (ncursesw).
curses(3X), curs_inch(3X), curs_inchstr(3X)
Referenced By
The man pages innstr.3x(3), instr.3x(3), mvinnstr.3x(3), mvinstr.3x(3), mvwinnstr.3x(3), mvwinstr.3x(3), winnstr.3x(3) and winstr.3x(3) are aliases of curs_instr.3x(3).