#include <curses.h>int innstr(char *str, int n);
int instr(char *str);
int mvinnstr(int y, int x, char *str, int n);
int mvinstr(int y, int x, char *str);
int mvwinnstr(WINDOW *win, int y, int x, char *str, int n);
int mvwinstr(WINDOW *win, int y, int x, char *str);
int winnstr(WINDOW *win, char *str, int n);
int winstr(WINDOW *win, char *str);
The innstr(3curses), mvinnstr(3curses), mvwinnstr(3curses) and winnstr(3curses) functions store at most n bytes in the string pointed to by str.
The innstr(3curses), mvinnstr(3curses), mvwinnstr(3curses) and winnstr(3curses) functions will only store the entire multi-byte sequence associated with a character. If the array is large enough to contain at least one character the array is filled with complete characters. If the array is not large enough to contain any complete characters, the function fails.
Upon successful completion, innstr(3curses), mvinnstr(3curses), mvwinnstr(3curses) and winnstr(3curses) return the number of characters actually read into the string.
Otherwise, all these functions return ERR.
These functions do not return rendition information.
Reading a line that overflows the array pointed to by str with instr(3curses), mvinstr(3curses), mvwinstr(3curses) or winstr(3curses) causes undefined results. The use of innstr(3curses), mvinnstr(3curses), mvwinnstr(3curses) or winnstr(3curses), respectively, is recommended.