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