| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> |
| <!-- |
| **************************************************************************** |
| * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * |
| * * |
| * Permission is hereby granted, free of charge, to any person obtaining a * |
| * copy of this software and associated documentation files (the * |
| * "Software"), to deal in the Software without restriction, including * |
| * without limitation the rights to use, copy, modify, merge, publish, * |
| * distribute, distribute with modifications, sublicense, and/or sell * |
| * copies of the Software, and to permit persons to whom the Software is * |
| * furnished to do so, subject to the following conditions: * |
| * * |
| * The above copyright notice and this permission notice shall be included * |
| * in all copies or substantial portions of the Software. * |
| * * |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * |
| * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * |
| * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * |
| * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * |
| * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * |
| * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * |
| * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * |
| * * |
| * Except as contained in this notice, the name(s) of the above copyright * |
| * holders shall not be used in advertising or otherwise to promote the * |
| * sale, use or other dealings in this Software without prior written * |
| * authorization. * |
| **************************************************************************** |
| * @Id: curs_getstr.3x,v 1.15 2006/01/12 00:30:58 tom Exp @ |
| --> |
| <HTML> |
| <HEAD> |
| <TITLE>curs_getstr 3x</TITLE> |
| <link rev=made href="mailto:bug-ncurses@gnu.org"> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| </HEAD> |
| <BODY> |
| <H1>curs_getstr 3x</H1> |
| <HR> |
| <PRE> |
| <!-- Manpage converted by man2html 3.0.1 --> |
| <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> |
| |
| |
| |
| |
| </PRE> |
| <H2>NAME</H2><PRE> |
| <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, |
| <STRONG>mvwgetstr</STRONG>, <STRONG>mvwgetnstr</STRONG> - accept character strings from |
| <STRONG>curses</STRONG> terminal keyboard |
| |
| |
| </PRE> |
| <H2>SYNOPSIS</H2><PRE> |
| <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> |
| |
| <STRONG>int</STRONG> <STRONG>getstr(char</STRONG> <STRONG>*str);</STRONG> |
| <STRONG>int</STRONG> <STRONG>getnstr(char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG> |
| <STRONG>int</STRONG> <STRONG>wgetstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG> |
| <STRONG>int</STRONG> <STRONG>wgetnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG> |
| <STRONG>int</STRONG> <STRONG>mvgetstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG> |
| <STRONG>int</STRONG> <STRONG>mvwgetstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG> |
| <STRONG>int</STRONG> <STRONG>mvgetnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG> |
| <STRONG>int</STRONG> <STRONG>mvwgetnstr(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG> |
| |
| |
| </PRE> |
| <H2>DESCRIPTION</H2><PRE> |
| The function <STRONG>getstr</STRONG> is equivalent to a series of calls to |
| <STRONG>getch</STRONG>, until a newline or carriage return is received (the |
| terminating character is not included in the returned |
| string). The resulting value is placed in the area point- |
| ed to by the character pointer <EM>str</EM>. |
| |
| <STRONG>wgetnstr</STRONG> reads at most <EM>n</EM> characters, thus preventing a |
| possible overflow of the input buffer. Any attempt to en- |
| ter more characters (other than the terminating newline or |
| carriage return) causes a beep. Function keys also cause |
| a beep and are ignored. The <STRONG>getnstr</STRONG> function reads from |
| the <EM>stdscr</EM> default window. |
| |
| The user's erase and kill characters are interpreted. If |
| keypad mode is on for the window, <STRONG>KEY_LEFT</STRONG> and |
| <STRONG>KEY_BACKSPACE</STRONG> are both considered equivalent to the user's |
| kill character. |
| |
| Characters input are echoed only if <STRONG>echo</STRONG> is currently on. |
| In that case, backspace is echoed as deletion of the pre- |
| vious character (typically a left motion). |
| |
| |
| </PRE> |
| <H2>RETURN VALUE</H2><PRE> |
| All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> |
| (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") |
| upon successful completion. |
| |
| X/Open defines no error conditions. |
| |
| In this implementation, these functions return an error if |
| the window pointer is null, or if its timeout expires |
| without having any data. |
| |
| This implementation provides an extension as well. If a |
| SIGWINCH interrupts the function, it will return <STRONG>KEY_RE-</STRONG> |
| <STRONG>SIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. |
| |
| |
| </PRE> |
| <H2>NOTES</H2><PRE> |
| Note that <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, and <STRONG>mvwgetstr</STRONG> may be macros. |
| |
| |
| </PRE> |
| <H2>PORTABILITY</H2><PRE> |
| These functions are described in the XSI Curses standard, |
| Issue 4. They read single-byte characters only. The |
| standard does not define any error conditions. This im- |
| plementation returns ERR if the window pointer is null, or |
| if the lower-level <STRONG>wgetch</STRONG> call returns an ERR. |
| |
| SVr3 and early SVr4 curses implementations did not reject |
| function keys; the SVr4.0 documentation claimed that "spe- |
| cial keys" (such as function keys, "home" key, "clear" |
| key, <EM>etc</EM>.) are "interpreted", without giving details. It |
| lied. In fact, the `character' value appended to the |
| string by those implementations was predictable but not |
| useful (being, in fact, the low-order eight bits of the |
| key's KEY_ value). |
| |
| The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were |
| present but not documented in SVr4. |
| |
| |
| </PRE> |
| <H2>SEE ALSO</H2><PRE> |
| <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>. |
| |
| |
| |
| <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> |
| </PRE> |
| <HR> |
| <ADDRESS> |
| Man(1) output converted with |
| <a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> |
| </ADDRESS> |
| </BODY> |
| </HTML> |