please dont rip this site


<body bgcolor="#ffffcc">

<h3>SETBUF(3)           Linux Programmer's Manual           SETBUF(3)

</h3>       setbuf,  setbuffer, setlinebuf, setvbuf - stream buffering

</h3>       #include &lt;stdio.h&gt;

       int setbuf( FILE *stream, char *buf);
       int setbuffer( FILE *stream, char *buf, size_tsize);
       int setlinebuf( FILE *stream);
       int setvbuf( FILE *stream, char *buf, int mode , size_t

</h3>       The  three  types  of  buffering available are unbuffered,
       block buffered, and line buffered.  When an output  stream
       is unbuffered, information appears on the destination file
       or terminal as soon as written; when it is block  buffered
       many  characters are saved up and written as a block; when
       it is line buffered characters are saved up until  a  new-
       line  is  output or input is read from any stream attached
       to a terminal  device  (typically  stdin).   The  function
       fflush(3)  may be used to force the block out early.  (See
       fclose(3).)  Normally all files are block buffered.   When
       the  first  I/O  operation  occurs on a file, malloc(3) is
       called, and a buffer is obtained.  If a stream refers to a
       terminal  (as  stdout  normally does) it is line buffered.
       The standard error stream stderr is always unbuffered.

       The setvbuf function may be used at any time on  any  open
       stream  to  change its buffer.  The mode parameter must be
       one of the following three macros:

              _IONBF unbuffered

              _IOLBF line buffered

              _IOFBF fully buffered

       Except for unbuffered files, the buf argument should point
       to  a buffer at least size bytes long; this buffer will be
       used instead of the current buffer.  If the  argument  buf
       is  NULL,  only the mode is affected; a new buffer will be
       allocated on  the  next  read  or  write  operation.   The
       setvbuf  function  may  be  used at any time, but can only
       change the mode of a stream when  it  is  not  ``active'':
       that  is,  before  any I/O, or immediately after a call to

       The other three calls are, in effect, simply  aliases  for
       calls  to setvbuf.  The setbuf function is exactly equiva-
       lent to the call

              setvbuf(stream,  buf,  buf    _IOFBF   :   _IONBF,

<h3>BSD MANPAGE              29 November 1993                       1

<h3>SETBUF(3)           Linux Programmer's Manual           SETBUF(3)


       The  setbuffer  function is the same, except that the size
       of the buffer is up  to  the  caller,  rather  than  being
       determined by the default BUFSIZ.  The setlinebuf function
       is exactly equivalent to the call:

              setvbuf(stream, (char *)NULL, _IOLBF, 0);

<a href=fopen.htm>fopen</a>, 
<a href=fclose.htm>fclose</a>, 
<a href=fread.htm>fread</a>, 
<a href=malloc.htm>malloc</a>, 
<a href=puts.htm>puts</a>, 
<a href=printf.htm>printf</a>, 

</h3>       The   setbuf   and   setvbuf  functions  conform  to  ANSI
       C3.159-1989 (``ANSI C'').

</h3>       The setbuffer and setlinebuf functions are not portable to
       versions  of  BSD  before 4.2BSD, and may not be available
       under Linux.  On 4.2BSD and 4.3BSD systems, setbuf  always
       uses a suboptimal buffer size and should be avoided.

       You  must  make sure that both buf and the space it points
       to still exist by the time stream is  closed,  which  also
       happens at program termination.

       For example, the following is illegal:

       #include &lt;stdio.h&gt;
       int main()
           char buf[BUFSIZ];
           setbuf(stdin, buf);
           printf("Hello, world!\n");
           return 0;

<h3>BSD MANPAGE              29 November 1993                       2

<table border=2 width=80%>
<tr align=center>
<td width=25%>
<a href=../index.htm>Top</a>
</td><td width=25%>
<a href=../master_index.html>Master Index</a>
</td><td width=25%>
<a href=../SYNTAX/keywords.html>Keywords</a>
</td><td width=25%>
<a href=../FUNCTIONS/index.htm>Functions</a>

This manual page was brought to you by <i>mjl_man V-2.0</i>

file: /Techref/language/ccpp/cref/MAN/setbuf.htm, 4KB, , updated: 2003/3/20 10:39, local time: 2019/6/27 02:24,

 ©2019 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE! / 

<A HREF=""> setbuf</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.

Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?


Welcome to!


Welcome to!