FreeBSD manual
download PDF document: putc_unlocked.3.pdf
PUTC(3) FreeBSD Library Functions Manual PUTC(3)
NAME
fputc, fputc_unlocked, putc, putc_unlocked, putchar, 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
fputc_unlocked(int c, FILE *stream);
int
putc(int c, FILE *stream);
int
putc_unlocked(int c, FILE *stream);
int
putchar(int c);
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.
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 fputc_unlocked(), putc_unlocked(), and putchar_unlocked() functions
are equivalent to fputc(), 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.
RETURN VALUES
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
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 Version 6 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.
FreeBSD 14.0-RELEASE-p11 January 23, 2020 FreeBSD 14.0-RELEASE-p11