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.

putc.html 4.6KB

3 jaren geleden
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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>putc (The Red Hat newlib C Library)</title>
  7. <meta name="description" content="putc (The Red Hat newlib C Library)">
  8. <meta name="keywords" content="putc (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="putc_005funlocked.html#putc_005funlocked" rel="next" title="putc_unlocked">
  17. <link href="perror.html#perror" rel="prev" title="perror">
  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="putc"></a>
  48. <div class="header">
  49. <p>
  50. Next: <a href="putc_005funlocked.html#putc_005funlocked" accesskey="n" rel="next">putc_unlocked</a>, Previous: <a href="perror.html#perror" accesskey="p" rel="prev">perror</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="putc_002d_002d_002dwrite-a-character-_0028macro_0029"></a>
  54. <h3 class="section">4.45 <code>putc</code>&mdash;write a character (macro)</h3>
  55. <a name="index-putc"></a>
  56. <a name="index-_005fputc_005fr"></a>
  57. <p><strong>Synopsis</strong>
  58. </p><div class="example">
  59. <pre class="example">#include &lt;stdio.h&gt;
  60. int putc(int <var>ch</var>, FILE *<var>fp</var>);
  61. #include &lt;stdio.h&gt;
  62. int _putc_r(struct _reent *<var>ptr</var>, int <var>ch</var>, FILE *<var>fp</var>);
  63. </pre></div>
  64. <p><strong>Description</strong><br>
  65. <code>putc</code> is a macro, defined in <code>stdio.h</code>. <code>putc</code>
  66. writes the argument <var>ch</var> to the file or stream identified by
  67. <var>fp</var>, after converting it from an <code>int</code> to an <code>unsigned char</code>.
  68. </p>
  69. <p>If the file was opened with append mode (or if the stream cannot
  70. support positioning), then the new character goes at the end of the
  71. file or stream. Otherwise, the new character is written at the
  72. current value of the position indicator, and the position indicator
  73. advances by one.
  74. </p>
  75. <p>For a subroutine version of this macro, see <code>fputc</code>.
  76. </p>
  77. <p>The <code>_putc_r</code> function is simply the reentrant version of
  78. <code>putc</code> that takes an additional reentrant structure argument: <var>ptr</var>.
  79. </p>
  80. <br>
  81. <p><strong>Returns</strong><br>
  82. If successful, <code>putc</code> returns its argument <var>ch</var>. If an error
  83. intervenes, the result is <code>EOF</code>. You can use &lsquo;<code>ferror(<var>fp</var>)</code>&rsquo; to
  84. query for errors.
  85. </p>
  86. <br>
  87. <p><strong>Portability</strong><br>
  88. ANSI C requires <code>putc</code>; it suggests, but does not require, that
  89. <code>putc</code> be implemented as a macro. The standard explicitly permits
  90. macro implementations of <code>putc</code> to use the <var>fp</var> argument more than once;
  91. therefore, in a portable program, you should not use an expression
  92. with side effects as this argument.
  93. </p>
  94. <p>Supporting OS subroutines required: <code>close</code>, <code>fstat</code>, <code>isatty</code>,
  95. <code>lseek</code>, <code>read</code>, <code>sbrk</code>, <code>write</code>.
  96. </p>
  97. <br>
  98. </body>
  99. </html>