\" $NetBSD: curses_inch.3,v 1.15 2025/04/11 23:57:20 uwe Exp $
\"
\" Copyright (c) 2002
\" Brett Lymn (
[email protected],
[email protected])
\"
\" This code is donated to the NetBSD Foundation by the Author.
\"
\" Redistribution and use in source and binary forms, with or without
\" modification, are permitted provided that the following conditions
\" are met:
\" 1. Redistributions of source code must retain the above copyright
\" notice, this list of conditions and the following disclaimer.
\" 2. Redistributions in binary form must reproduce the above copyright
\" notice, this list of conditions and the following disclaimer in the
\" documentation and/or other materials provided with the distribution.
\" 3. The name of the Author may not be used to endorse or promote
\" products derived from this software without specific prior written
\" permission.
\"
\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
\" SUCH DAMAGE.
\"
\"
Dd October 25, 2018
Dt CURSES_INCH 3
Os
Sh NAME
Nm curses_inch ,
Nm inch ,
Nm winch ,
Nm inchnstr ,
Nm mvinchnstr ,
Nm winchnstr ,
Nm mvwinchnstr ,
Nm inchstr ,
Nm mvinchstr ,
Nm winchstr ,
Nm mvwinchstr ,
Nm innstr ,
Nm winnstr ,
Nm mvinnstr ,
Nm mvwinnstr ,
Nm instr ,
Nm winstr ,
Nm mvinstr ,
Nm mvwinstr
Nd curses read screen contents routines
Sh LIBRARY
Lb libcurses
Sh SYNOPSIS
In curses.h
Ft chtype
Fn inch "void"
Ft chtype
Fn winch "WINDOW *win"
Ft int
Fn inchnstr "chtype *chars" "int n"
Ft int
Fn mvinchnstr "int y" "int x" "chtype *chstr" "int n"
Ft int
Fn winchnstr "WINDOW *win" "chtype *chars" "int n"
Ft int
Fn mvwinchnstr "WINDOW *win" "int y" "int x" "chtype *chstr" "int n"
Ft int
Fn inchstr "chtype *chars"
Ft int
Fn mvinchstr "int y" "int x" "chtype *chstr"
Ft int
Fn winchstr "WINDOW *win" "chtype *chars"
Ft int
Ft mvwinchstr "WINDOW *win" "int y" "int x" "chtype *chstr"
Ft int
Fn innstr "char *str" "int n"
Ft int
Fn winnstr "WINDOW *win" "char *str" "int n"
Ft int
Fn mvinnstr "int y" "int x" "char *str" "int n"
Ft int
Fn mvwinnstr "WINDOW *win" "int y" "int x" "char *str" "int n"
Ft int
Fn instr "char *str"
Ft int
Fn winstr "WINDOW *win" "char *str"
Ft int
Fn mvinstr "int y" "int x" "char *str"
Ft int
Fn mvwinstr "WINDOW *win" "int y" "int x" "char *str"
Sh DESCRIPTION
These functions read the contents of
Va stdscr
or of the specified window.
Pp
The
Fn inch
function returns the character that is displayed on
Va stdscr
at the current cursor position.
Pp
The
Fn winch
function is the same as the
Fn inch
function, excepting that the character is read from window specified by
Fa win .
Pp
The
Fn inchnstr
function fills an array of
Ft chtype
with characters read from
Va stdscr ,
the characters are read starting from the current cursor position and
continuing until either n \- 1 characters are read or the right hand
side of the screen is reached.
The resulting character array will be
Dv NULL
terminated.
Pp
The
Fn winchnstr
function is the same as
Fn inchnstr
excepting that the characters are read from the window specified by
Fa win .
Pp
The
Fn inchstr
and
Fn winchstr
functions are the same as the
Fn inchnstr
and
Fn winchnstr
functions, respectively, excepting that they do not limit the number
of characters read.
The characters returned are those from the current starting position to
the right hand side of the screen.
The use of
Fn inchstr
and
Fn winchstr
is not recommended as the character buffer can be overflowed.
Pp
The
Fn innstr
function
is similar to the
Fn inchstr
function, excepting that the array of characters returned is stripped of all
the curses attributes making it a plain character string.
Pp
The
Fn mvinchstr ,
Fn mvinchnstr ,
Fn mvwinchstr ,
and
Fn mvwinchnstr
functions are the same as the
Fn inchstr ,
Fn inchnstr ,
Fn winchstr ,
and
Fn winchstr
functions, respectively, except that
Fn wmove
is called to move the cursor to the position specified by
Fa y ,
Fa x
before the output is printed on the window.
Likewise, the
Fn mvinstr ,
Fn mvinnstr ,
Fn mvwinstr ,
and
Fn mvwinnstr
functions are the same as the
Fn instr ,
Fn innstr ,
Fn winstr ,
and
Fn winstr
functions, respectively, except that
Fn wmove
is called to move the cursor to the position specified by
Fa y ,
Fa x
before the output is printed on the window.
Pp
The
Fn winnstr
function is the same as the
Fn innstr
function, excepting that characters are read from the window specified by
Fa win .
Pp
The
Fn instr
and
Fn winstr
functions
are the same as the
Fn innstr
and
Fn winnstr
functions, respectively, excepting that there are no limits placed on the
size of the returned string, which may cause buffer overflows.
For this reason, the use of
Fn instr
and
Fn winstr
is not recommended.
Sh RETURN VALUES
If the calls
Fn innstr ,
Fn mvinnstr ,
Fn mvwinnstr ,
and
Fn winnstr
succeed then they will return the number of characters actually read.
Functions returning pointers will return
Dv NULL
if an error is detected.
The functions that return an int will return one of the following
values:
Pp
Bl -tag -width ERR -compact
It Er OK
The function completed successfully.
It Er ERR
An error occurred in the function.
El
Sh SEE ALSO
Xr curses_addch 3 ,
Xr curses_addstr 3 ,
Xr curses_attributes 3 ,
Xr curses_insch 3
Sh STANDARDS
The
Nx
Curses library complies with the X/Open Curses specification, part
of the Single Unix Specification.
Sh NOTES
The
Fn inchnstr
and
Fn innstr
function read at most n \- 1 characters from the screen so as to leave
room for
Dv NULL
termination.
The X/Open specification is unclear as to whether or not this is the correct
behaviour.
Sh HISTORY
The Curses package appeared in
Bx 4.0 .