PUTC(3) | 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), flockfile(3), fopen(3), getc(3), stdio(3)

# STANDARDS

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

# HISTORY

The `putc`(), and `putw`() functions first appeared in Version 1 AT&T UNIX. The `putchar`() function first appeared in Version 4 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.

September 2, 2019 | NetBSD 9.5