<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Stream Buffers</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 14.  Input and Output" /><link rel="prev" href="io.html" title="Chapter 14.  Input and Output" /><link rel="next" href="stringstreams.html" title="Memory Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Stream Buffers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io.html">Prev</a> </td><th width="60%" align="center">Chapter 14. 
  Input and Output
  
</th><td width="20%" align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.streambufs"></a>Stream Buffers</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="io.streambuf.derived"></a>Derived streambuf Classes</h3></div></div></div><p>
    </p><p>Creating your own stream buffers for I/O can be remarkably easy.
      If you are interested in doing so, we highly recommend two very
      excellent books:
      <a class="link" href="https://angelikalanger.com/iostreams.html" target="_top">Standard C++
      IOStreams and Locales</a> by Langer and Kreft, ISBN 0-201-18395-1, and
      <a class="link" href="https://www.cppstdlib.com" target="_top">The C++ Standard Library</a>
      by Nicolai Josuttis, ISBN 0-201-37926-0.  Both are published by
      Addison-Wesley, who isn't paying us a cent for saying that, honest.
   </p><p>Here is a simple example, io/outbuf1, from the Josuttis text.  It
      transforms everything sent through it to uppercase.  This version
      assumes many things about the nature of the character type being
      used (for more information, read the books or the newsgroups):
   </p><pre class="programlisting">
    #include &lt;iostream&gt;
    #include &lt;streambuf&gt;
    #include &lt;locale&gt;
    #include &lt;cstdio&gt;

    class outbuf : public std::streambuf
    {
      protected:
	/* central output function
	 * - print characters in uppercase mode
	 */
	virtual int_type overflow (int_type c) {
	    if (c != EOF) {
		// convert lowercase to uppercase
		c = std::toupper(static_cast&lt;char&gt;(c),getloc());

		// and write the character to the standard output
		if (putchar(c) == EOF) {
		    return EOF;
		}
	    }
	    return c;
	}
    };

    int main()
    {
	// create special output buffer
	outbuf ob;
	// initialize output stream with that output buffer
	std::ostream out(&amp;ob);

	out &lt;&lt; "31 hexadecimal: "
	    &lt;&lt; std::hex &lt;&lt; 31 &lt;&lt; std::endl;
	return 0;
    }
</pre><p>Try it yourself!  More examples can be found in 3.1.x code, in
      <code class="filename">include/ext/*_filebuf.h</code>, and in the article
      <a class="link" href="http://gabisoft.free.fr/articles/fltrsbf1.html" target="_top">Filtering
      Streambufs</a>
      by James Kanze.
   </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="io.streambuf.buffering"></a>Buffering</h3></div></div></div><p>First, are you sure that you understand buffering?  Particularly
      the fact that C++ may not, in fact, have anything to do with it?
   </p><p>The rules for buffering can be a little odd, but they aren't any
      different from those of C.  (Maybe that's why they can be a bit
      odd.)  Many people think that writing a newline to an output
      stream automatically flushes the output buffer.  This is true only
      when the output stream is, in fact, a terminal and not a file
      or some other device -- and <span class="emphasis"><em>that</em></span> may not even be true
      since C++ says nothing about files nor terminals.  All of that is
      system-dependent.  (The "newline-buffer-flushing only occurring
      on terminals" thing is mostly true on Unix systems, though.)
   </p><p>Some people also believe that sending <code class="code">endl</code> down an
      output stream only writes a newline.  This is incorrect; after a
      newline is written, the buffer is also flushed.  Perhaps this
      is the effect you want when writing to a screen -- get the text
      out as soon as possible, etc -- but the buffering is largely
      wasted when doing this to a file:
   </p><pre class="programlisting">
   output &lt;&lt; "a line of text" &lt;&lt; endl;
   output &lt;&lt; some_data_variable &lt;&lt; endl;
   output &lt;&lt; "another line of text" &lt;&lt; endl; </pre><p>The proper thing to do in this case is to just write the data out
      and let the libraries and the system worry about the buffering.
      If you need a newline, just write a newline:
   </p><pre class="programlisting">
   output &lt;&lt; "a line of text\n"
	  &lt;&lt; some_data_variable &lt;&lt; '\n'
	  &lt;&lt; "another line of text\n"; </pre><p>I have also joined the output statements into a single statement.
      You could make the code prettier by moving the single newline to
      the start of the quoted text on the last line, for example.
   </p><p>If you do need to flush the buffer above, you can send an
      <code class="code">endl</code> if you also need a newline, or just flush the buffer
      yourself:
   </p><pre class="programlisting">
   output &lt;&lt; ...... &lt;&lt; flush;    // can use std::flush manipulator
   output.flush();               // or call a member fn </pre><p>On the other hand, there are times when writing to a file should
      be like writing to standard error; no buffering should be done
      because the data needs to appear quickly (a prime example is a
      log file for security-related information).  The way to do this is
      just to turn off the buffering <span class="emphasis"><em>before any I/O operations at
      all</em></span> have been done (note that opening counts as an I/O operation):
   </p><pre class="programlisting">
   std::ofstream    os;
   std::ifstream    is;
   int   i;

   os.rdbuf()-&gt;pubsetbuf(0,0);
   is.rdbuf()-&gt;pubsetbuf(0,0);

   os.open("/foo/bar/baz");
   is.open("/qux/quux/quuux");
   ...
   os &lt;&lt; "this data is written immediately\n";
   is &gt;&gt; i;   // and this will probably cause a disk read </pre><p>Since all aspects of buffering are handled by a streambuf-derived
      member, it is necessary to get at that member with <code class="code">rdbuf()</code>.
      Then the public version of <code class="code">setbuf</code> can be called.  The
      arguments are the same as those for the Standard C I/O Library
      function (a buffer area followed by its size).
   </p><p>A great deal of this is implementation-dependent.  For example,
      <code class="code">streambuf</code> does not specify any actions for its own
      <code class="code">setbuf()</code>-ish functions; the classes derived from
      <code class="code">streambuf</code> each define behavior that "makes
      sense" for that class:  an argument of (0,0) turns off buffering
      for <code class="code">filebuf</code> but does nothing at all for its siblings
      <code class="code">stringbuf</code> and <code class="code">strstreambuf</code>, and specifying
      anything other than (0,0) has varying effects.
      User-defined classes derived from <code class="code">streambuf</code> can
      do whatever they want.  (For <code class="code">filebuf</code> and arguments for
      <code class="code">(p,s)</code> other than zeros, libstdc++ does what you'd expect:
      the first <code class="code">s</code> bytes of <code class="code">p</code> are used as a buffer,
      which you must allocate and deallocate.)
   </p><p>A last reminder:  there are usually more buffers involved than
      just those at the language/library level.  Kernel buffers, disk
      buffers, and the like will also have an effect.  Inspecting and
      changing those are system-dependent.
   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="io.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 14. 
  Input and Output
  
 </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Memory Based Streams</td></tr></table></div></body></html>