• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2013.11/share/doc/arm-arm-none-eabi/html/libc/
1<html lang="en">
2<head>
3<title>putc - Untitled</title>
4<meta http-equiv="Content-Type" content="text/html">
5<meta name="description" content="Untitled">
6<meta name="generator" content="makeinfo 4.13">
7<link title="Top" rel="start" href="index.html#Top">
8<link rel="up" href="Stdio.html#Stdio" title="Stdio">
9<link rel="prev" href="perror.html#perror" title="perror">
10<link rel="next" href="putc_005funlocked.html#putc_005funlocked" title="putc_unlocked">
11<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
12<meta http-equiv="Content-Style-Type" content="text/css">
13<style type="text/css"><!--
14  pre.display { font-family:inherit }
15  pre.format  { font-family:inherit }
16  pre.smalldisplay { font-family:inherit; font-size:smaller }
17  pre.smallformat  { font-family:inherit; font-size:smaller }
18  pre.smallexample { font-size:smaller }
19  pre.smalllisp    { font-size:smaller }
20  span.sc    { font-variant:small-caps }
21  span.roman { font-family:serif; font-weight:normal; } 
22  span.sansserif { font-family:sans-serif; font-weight:normal; } 
23--></style>
24<link rel="stylesheet" type="text/css" href="../cs.css">
25</head>
26<body>
27<div class="node">
28<a name="putc"></a>
29<p>
30Next:&nbsp;<a rel="next" accesskey="n" href="putc_005funlocked.html#putc_005funlocked">putc_unlocked</a>,
31Previous:&nbsp;<a rel="previous" accesskey="p" href="perror.html#perror">perror</a>,
32Up:&nbsp;<a rel="up" accesskey="u" href="Stdio.html#Stdio">Stdio</a>
33<hr>
34</div>
35
36<h3 class="section">4.44 <code>putc</code>&mdash;write a character (macro)</h3>
37
38<p><a name="index-putc-246"></a><a name="index-g_t_005fputc_005fr-247"></a><strong>Synopsis</strong>
39<pre class="example">     #include &lt;stdio.h&gt;
40     int putc(int <var>ch</var>, FILE *<var>fp</var>);
41     
42     #include &lt;stdio.h&gt;
43     int _putc_r(struct _reent *<var>ptr</var>, int <var>ch</var>, FILE *<var>fp</var>);
44     
45</pre>
46   <p><strong>Description</strong><br>
47<code>putc</code> is a macro, defined in <code>stdio.h</code>.  <code>putc</code>
48writes the argument <var>ch</var> to the file or stream identified by
49<var>fp</var>, after converting it from an <code>int</code> to an <code>unsigned char</code>.
50
51   <p>If the file was opened with append mode (or if the stream cannot
52support positioning), then the new character goes at the end of the
53file or stream.  Otherwise, the new character is written at the
54current value of the position indicator, and the position indicator
55advances by one.
56
57   <p>For a subroutine version of this macro, see <code>fputc</code>.
58
59   <p>The <code>_putc_r</code> function is simply the reentrant version of
60<code>putc</code> that takes an additional reentrant structure argument: <var>ptr</var>.
61
62   <p><br>
63<strong>Returns</strong><br>
64If successful, <code>putc</code> returns its argument <var>ch</var>.  If an error
65intervenes, the result is <code>EOF</code>.  You can use `<code>ferror(</code><var>fp</var><code>)</code>' to
66query for errors.
67
68   <p><br>
69<strong>Portability</strong><br>
70ANSI C requires <code>putc</code>; it suggests, but does not require, that
71<code>putc</code> be implemented as a macro.  The standard explicitly permits
72macro implementations of <code>putc</code> to use the <var>fp</var> argument more than once;
73therefore, in a portable program, you should not use an expression
74with side effects as this argument.
75
76   <p>Supporting OS subroutines required: <code>close</code>, <code>fstat</code>, <code>isatty</code>,
77<code>lseek</code>, <code>read</code>, <code>sbrk</code>, <code>write</code>.
78
79   <p><br>
80
81   </body></html>
82
83