Guardian Native C Library Calls Reference Manual (G06.28+, H06.05+)

putc(3) Guardian Native C Library Calls Reference Manual
NAME
putc - Writes a byte to a specied output stream
LIBRARY
G-series native Guardian processes: $SYSTEM.SYSnn.ZCRTLSRL
G-series native OSS processes: /G/system/sysnn/zcrtlsrl
H-series native Guardian processes: $SYSTEM.ZDLLnnn.ZCRTLDLL
H-series OSS processes: /G/system/zdllnnn/zcrtldll
SYNOPSIS
#include <stdio.h>
int putc(
int c,
FILE *stream);
PARAMETERS
c Species the character to be written.
stream Points to the le structure of an open le.
DESCRIPTION
The putc() macro writes the character c to the output specied by the stream parameter. The
character is written at the position at which the le pointer is currently pointing, if dened.
With the exception of stderr, output streams are, by default, buffered if they refer to les, or line
buffered if they refer to terminals. The standard error output stream, stderr, is unbuffered by
default, but using the freopen( ) function causes it to become buffered or line buffered. Use the
setbuf() function to change the stream buffering strategy.
When an output stream is unbuffered, information is queued for writing on the destination le or
terminal as soon as it is written. When an output stream is buffered, many characters are saved
and written as a block. When an output stream is line-buffered, each line of output is queued for
writing on the destination terminal as soon as the line is completed (that is, as soon as a newline
character is written or terminal input is requested).
The st_ctime and st_mtime elds of the le are marked for update between the successful exe-
cution of the putc( ) function, and the next successful completion of a call to the fush( ) or
fclose( ) function on the same stream, or a call to the exit() or abort() function.
NOTES
The putc() function runs faster than fputc( ), but takes more space per invocation.
The putc() function might be a macro (depending on the compile-time denitions used in the
source). Consequently, you cannot use this interface where a function is necessary; for example,
a subroutine pointer cannot point to it. In addition, putc( ) does not work correctly with a stream
parameter that has side effects. In particular, the following does not work:
putc(*f++)
When a function is necessary, use the fputc( ) function instead.
RETURN VALUES
The putc() function and macro, upon successful completion, returns the value written. If this
function or macro fails, it returns the constant EOF. The function sets errno when an error is
encountered.
536 Hewlett-Packard Company 527192-007