PUTC(3) | NetBSD Library Functions Manual | PUTC(3)

# NAME

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

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

#include <stdio.h>

int
fputc(int c, FILE *stream);

int
putc(int c, FILE *stream);

int
putchar(int c);

int
putc_unlocked(int c, FILE *stream);

int
putchar_unlocked(int c);

int
putw(int w, FILE *stream);

# DESCRIPTION

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

putc() 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.

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

The putc_unlocked() and putchar_unlocked() functions provide functionality identical to that of putc() and putchar(), respectively, but do not perform implicit locking of the streams they operate on. In multi-threaded programs they may be used only within a scope in which the stream has been successfully locked by the calling thread using either flockfile(3) or ftrylockfile(3), and may later be released using funlockfile(3).

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

# RETURN VALUES

The functions, fputc(), putc() and putchar() 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.

# SEE ALSO

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

# STANDARDS

The functions fputc(), putc(), and putchar(), conform to ANSI X3.159-1989 (“ANSI C”). The functions putc_unlocked() and putchar_unlocked() conform to ISO/IEC 9945-1:1996 (“POSIX.1”).

# HISTORY

The functions putc(), putchar(), and putw() first appeared in Version 6 AT&T UNIX. The function fputc() appeared in Version 7 AT&T UNIX.

# BUGS

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

May 6, 2010 | NetBSD 5.99