COHERENT manpages
This page displays the COHERENT manpage for buffer [Definition].
List of available manpages
Index
buffer -- Definition
A buffer is a portion of memory set aside to hold data read from or to be
written to another process or device. Often, although not always, this
involves setting aside a portion of the arena with malloc or its related
functions.
Buffering, and problems therewith, are encountered most often when using
the standard input and output (STDIO) routines. Many operating systems
(including COHERENT) automatically place data from a peripheral device into
a buffer. Buffers normally can be cleared with fflush(), by pressing the
carriage return key on routines that perform input, or by sending a newline
character on routines that perform output. The function fclose(), which
closes a file stream, flushes all buffers associated with that stream.
exit() calls fclose().
Combining unbuffered and buffered I/O functions on the same file or device
within one program will produce results that are at best unpredictable.
Example
The following example demonstrates what does and does not happen when you
use fflush() with the output buffer.
#include <stdio.h>
main()
{
extern char *malloc();
char *buffer;
/* use malloc() to create a 120-char buffer */
if ((buffer = malloc(120)) == NULL) {
/* if malloc() fails, bail out */
fprintf(stderr, "malloc failed\n");
exit(1);
}
printf("Type your name: ");
fflush(stdout);
gets(buffer);
printf("Your name is %s\n", buffer);
}
See Also
arena,
array,
close(),
exit(),
fflush(),
malloc(),
Programming COHERENT,
stdio.h







