You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 line
4.1KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <title>ungetwc (The Red Hat newlib C Library)</title>
  7. <meta name="description" content="ungetwc (The Red Hat newlib C Library)">
  8. <meta name="keywords" content="ungetwc (The Red Hat newlib C Library)">
  9. <meta name="resource-type" content="document">
  10. <meta name="distribution" content="global">
  11. <meta name="Generator" content="makeinfo">
  12. <link href="index.html#Top" rel="start" title="Top">
  13. <link href="Document-Index.html#Document-Index" rel="index" title="Document Index">
  14. <link href="Document-Index.html#SEC_Contents" rel="contents" title="Table of Contents">
  15. <link href="Stdio.html#Stdio" rel="up" title="Stdio">
  16. <link href="vfprintf.html#vfprintf" rel="next" title="vfprintf">
  17. <link href="ungetc.html#ungetc" rel="prev" title="ungetc">
  18. <style type="text/css">
  19. <!--
  20. a.summary-letter {text-decoration: none}
  21. blockquote.indentedblock {margin-right: 0em}
  22. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  23. blockquote.smallquotation {font-size: smaller}
  24. div.display {margin-left: 3.2em}
  25. div.example {margin-left: 3.2em}
  26. div.lisp {margin-left: 3.2em}
  27. div.smalldisplay {margin-left: 3.2em}
  28. div.smallexample {margin-left: 3.2em}
  29. div.smalllisp {margin-left: 3.2em}
  30. kbd {font-style: oblique}
  31. pre.display {font-family: inherit}
  32. pre.format {font-family: inherit}
  33. pre.menu-comment {font-family: serif}
  34. pre.menu-preformatted {font-family: serif}
  35. pre.smalldisplay {font-family: inherit; font-size: smaller}
  36. pre.smallexample {font-size: smaller}
  37. pre.smallformat {font-family: inherit; font-size: smaller}
  38. pre.smalllisp {font-size: smaller}
  39. span.nolinebreak {white-space: nowrap}
  40. span.roman {font-family: initial; font-weight: normal}
  41. span.sansserif {font-family: sans-serif; font-weight: normal}
  42. ul.no-bullet {list-style: none}
  43. -->
  44. </style>
  45. </head>
  46. <body lang="en">
  47. <a name="ungetwc"></a>
  48. <div class="header">
  49. <p>
  50. Next: <a href="vfprintf.html#vfprintf" accesskey="n" rel="next">vfprintf</a>, Previous: <a href="ungetc.html#ungetc" accesskey="p" rel="prev">ungetc</a>, Up: <a href="Stdio.html#Stdio" accesskey="u" rel="up">Stdio</a> &nbsp; [<a href="Document-Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Document-Index.html#Document-Index" title="Index" rel="index">Index</a>]</p>
  51. </div>
  52. <hr>
  53. <a name="ungetwc_002d_002d_002dpush-wide-character-data-back-into-a-stream"></a>
  54. <h3 class="section">4.69 <code>ungetwc</code>&mdash;push wide character data back into a stream</h3>
  55. <a name="index-ungetwc"></a>
  56. <a name="index-_005fungetwc_005fr"></a>
  57. <p><strong>Synopsis</strong>
  58. </p><div class="example">
  59. <pre class="example">#include &lt;stdio.h&gt;
  60. #include &lt;wchar.h&gt;
  61. wint_t ungetwc(wint_t <var>wc</var>, FILE *<var>stream</var>);
  62. wint_t _ungetwc_r(struct _reent *<var>reent</var>, wint_t <var>wc</var>, FILE *<var>stream</var>);
  63. </pre></div>
  64. <p><strong>Description</strong><br>
  65. <code>ungetwc</code> is used to return wide characters back to <var>stream</var> to be
  66. read again. If <var>wc</var> is WEOF, the stream is unchanged. Otherwise, the
  67. wide character <var>wc</var> is put back on the stream, and subsequent reads will see
  68. the wide chars pushed back in reverse order. Pushed wide chars are lost if the
  69. stream is repositioned, such as by <code>fseek</code>, <code>fsetpos</code>, or
  70. <code>rewind</code>.
  71. </p>
  72. <p>The underlying file is not changed, but it is possible to push back
  73. something different than what was originally read. Ungetting a
  74. character will clear the end-of-stream marker, and decrement the file
  75. position indicator. Pushing back beyond the beginning of a file gives
  76. unspecified behavior.
  77. </p>
  78. <p>The alternate function <code>_ungetwc_r</code> is a reentrant version. The
  79. extra argument <var>reent</var> is a pointer to a reentrancy structure.
  80. </p>
  81. <br>
  82. <p><strong>Returns</strong><br>
  83. The wide character pushed back, or <code>WEOF</code> on error.
  84. </p>
  85. <br>
  86. <p><strong>Portability</strong><br>
  87. C99
  88. </p>
  89. <br>
  90. </body>
  91. </html>