ncurses 6.0 - patch 20170506
[ncurses.git] / doc / html / man / curs_get_wstr.3x.html
1 <!-- 
2   ****************************************************************************
3   * Copyright (c) 2002-2012,2017 Free Software Foundation, Inc.              *
4   *                                                                          *
5   * Permission is hereby granted, free of charge, to any person obtaining a  *
6   * copy of this software and associated documentation files (the            *
7   * "Software"), to deal in the Software without restriction, including      *
8   * without limitation the rights to use, copy, modify, merge, publish,      *
9   * distribute, distribute with modifications, sublicense, and/or sell       *
10   * copies of the Software, and to permit persons to whom the Software is    *
11   * furnished to do so, subject to the following conditions:                 *
12   *                                                                          *
13   * The above copyright notice and this permission notice shall be included  *
14   * in all copies or substantial portions of the Software.                   *
15   *                                                                          *
16   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
17   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
18   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
19   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
20   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
21   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
22   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
23   *                                                                          *
24   * Except as contained in this notice, the name(s) of the above copyright   *
25   * holders shall not be used in advertising or otherwise to promote the     *
26   * sale, use or other dealings in this Software without prior written       *
27   * authorization.                                                           *
28   ****************************************************************************
29   * @Id: curs_get_wstr.3x,v 1.11 2017/03/04 21:24:04 tom Exp @
30 -->
31 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
32 <HTML>
33 <HEAD>
34 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
35 <meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
36 <TITLE>curs_get_wstr 3x</TITLE>
37 <link rev=made href="mailto:bug-ncurses@gnu.org">
38 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
39 </HEAD>
40 <BODY>
41 <H1 class="no-header">curs_get_wstr 3x</H1>
42 <PRE>
43 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>                                            <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
44
45
46
47
48 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
49        <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>,
50        <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get an array of wide characters from a
51        curses terminal keyboard
52
53
54 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
55        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
56
57        <STRONG>int</STRONG> <STRONG>get_wstr(wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
58        <STRONG>int</STRONG> <STRONG>getn_wstr(wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
59        <STRONG>int</STRONG> <STRONG>wget_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
60        <STRONG>int</STRONG> <STRONG>wgetn_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
61        <STRONG>int</STRONG> <STRONG>mvget_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
62        <STRONG>int</STRONG> <STRONG>mvgetn_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
63        <STRONG>int</STRONG> <STRONG>mvwget_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
64        <STRONG>int</STRONG> <STRONG>mvwgetn_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
65
66
67 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
68        The  effect  of  <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>
69        were made, until a newline, other end-of-line, or end-of-file condition
70        is  processed.  An end-of-file condition is represented by <STRONG>WEOF</STRONG>, as de-
71        fined in <STRONG>&lt;wchar.h&gt;</STRONG>.  The newline and end-of-line conditions are  repre-
72        sented  by  the  <STRONG>\n</STRONG>  <STRONG>wchar_t</STRONG>  value.   In all instances, the end of the
73        string is terminated by a null <STRONG>wchar_t</STRONG>.  The routine  places  resulting
74        values in the area pointed to by <EM>wstr</EM>.
75
76        The  user's  erase and kill characters are interpreted.  If keypad mode
77        is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG>  are  both  considered
78        equivalent to the user's kill character.
79
80        Characters  input  are  echoed  only  if <STRONG>echo</STRONG> is currently on.  In that
81        case, backspace is echoed as deletion of the previous character  (typi-
82        cally a left motion).
83
84        The effect of <STRONG>wget_wstr</STRONG> is as though a series of calls to <STRONG>wget_wch</STRONG> were
85        made.
86
87        The effect of <STRONG>mvget_wstr</STRONG> is as though a call to <STRONG>move</STRONG> and then a  series
88        of calls to <STRONG>get_wch</STRONG> were made.
89
90        The  effect  of <STRONG>mvwget_wstr</STRONG> is as though a call to <STRONG>wmove</STRONG> and then a se-
91        ries of calls to <STRONG>wget_wch</STRONG> were made.
92
93        The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, and <STRONG>wgetn_wstr</STRONG> functions  are
94        identical to the <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> func-
95        tions, respectively, except that the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> char-
96        acters, letting the application prevent overflow of the input buffer.
97
98
99 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
100        Using  <STRONG>get_wstr</STRONG>,  <STRONG>mvget_wstr</STRONG>,  <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line
101        that overflows the array pointed to by <STRONG>wstr</STRONG> causes  undefined  results.
102        The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, respec-
103        tively, is recommended.
104
105        These functions cannot return <STRONG>KEY_</STRONG> values because there is  no  way  to
106        distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG> value.
107
108        All of these routines except <STRONG>wgetn_wstr</STRONG> may be macros.
109
110
111 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
112        All  of  these  functions return <STRONG>OK</STRONG> upon successful completion.  Other-
113        wise, they return <STRONG>ERR</STRONG>.
114
115        Functions using a window parameter return an error if it is null.
116
117               <STRONG>wgetn_wstr</STRONG>
118                    returns an error if the associated call to <STRONG>wget_wch</STRONG> failed.
119
120        Functions with a "mv" prefix first  perform  a  cursor  movement  using
121        <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
122        the window pointer is null.
123
124
125 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
126        These functions are described in The Single Unix Specification, Version
127        2.   No  error conditions are defined.  This implementation returns ERR
128        if the window pointer is null, or if the lower-level <STRONG>wget_wch</STRONG> call  re-
129        turns  an ERR.  In the latter case, an ERR return without other data is
130        treated as an end-of-file condition, and the returned array contains  a
131        <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
132
133        X/Open curses documented these functions to pass an array of <STRONG>wchar_t</STRONG> in
134        1997, but that was an error because of this part of the description:
135
136               The effect of <EM>get</EM><STRONG>_</STRONG><EM>wstr()</EM> is as  though  a  series  of  calls  to
137               <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM>  were  made,  until  a  newline character, end-of-line
138               character, or end-of-file character is processed.
139
140        The latter function  <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM>  can  return  a  negative  value,  while
141        <STRONG>wchar_t</STRONG>  is  a  unsigned type.  All of the vendors implement this using
142        <STRONG>wint_t</STRONG>, following the standard.
143
144
145 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
146        Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>.
147
148
149
150                                                              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
151 </PRE>
152 <div class="nav">
153 <ul>
154 <li><a href="#h2-NAME">NAME</a></li>
155 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
156 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
157 <li><a href="#h2-NOTES">NOTES</a></li>
158 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
159 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
160 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
161 </ul>
162 </div>
163 </BODY>
164 </HTML>