April 25, 2001 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

```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 C89'') . The functions putc_unlocked(``) and putchar_unlocked(``) conform to ISO/IEC 9945-1:1996 (``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.