tail head cat sleep
QR code linking to this page

Manual Pages  — PUTC


fputc, putc, putc_unlocked, putchar, putchar_unlocked, putw – output a character or word to a stream



Standard C Library (libc, -lc)


#include <stdio.h>

fputc(int c, FILE *stream);

putc(int c, FILE *stream);

putc_unlocked(int c, FILE *stream);

putchar(int c);

putchar_unlocked(int c);

putw(int w, FILE *stream);


The fputc() function writes the character c (converted to an ``unsigned char'') to the output stream pointed to by stream.

The putc() macro acts essentially identically to fputc(), but is a macro that expands in-line. It may evaluate stream more than once, so arguments given to putc() should not be expressions with potential side effects.

The putchar() function is identical to putc() with an output stream of stdout.

The putw() function writes the specified int to the named output stream.

The putc_unlocked() and putchar_unlocked() functions are equivalent to putc() and putchar() respectively, except that the caller is responsible for locking the stream with flockfile(3) before calling them. These functions may be used to avoid the overhead of locking the stream for each character, and to avoid output being interspersed from multiple threads writing to the same stream.


The functions, fputc(), putc(), putchar(), putc_unlocked() and putchar_unlocked() return the character written. If an error occurs, the value EOF is returned. The putw() function returns 0 on success; EOF is returned if a write error occurs, or if an attempt is made to write a read-only stream.


ferror(3), flockfile(3), fopen(3), getc(3), putwc(3), stdio(3)


The functions fputc(), putc(), and putchar(), conform to ISO/IEC 9899:1990 ("ISO C90"). The putc_unlocked() and putchar_unlocked() functions conform to IEEE Std 1003.1-2001 ("POSIX.1"). A function putw() function appeared in AT&T v6 .


The size and byte order of an int varies from one machine to another, and putw() is not recommended for portable applications.

PUTC (3) January 10, 2003

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

… one of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.
— Robert Firth