OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [libstdc++-v3/] [doc/] [html/] [manual/] [stringstreams.html] - Blame information for rev 841

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 424 jeremybenn
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 26. Memory Based Streams</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="io.html" title="Part XI.  Input and Output" /><link rel="prev" href="bk01pt11ch25s02.html" title="Buffering" /><link rel="next" href="fstreams.html" title="Chapter 27. File Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 26. Memory Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt11ch25s02.html">Prev</a> </td><th width="60%" align="center">Part XI. 
4
  Input and Output
5
 
6
</th><td width="20%" align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 26. Memory Based Streams"><div class="titlepage"><div><div><h2 class="title"><a id="manual.io.memstreams"></a>Chapter 26. Memory Based Streams</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="stringstreams.html#manual.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></div><div class="sect1" title="Compatibility With strstream"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.io.memstreams.compat"></a>Compatibility With strstream</h2></div></div></div><p>
7
    </p><p>Stringstreams (defined in the header <code class="code">&lt;sstream&gt;</code>)
8
      are in this author's opinion one of the coolest things since
9
      sliced time.  An example of their use is in the Received Wisdom
10
      section for Chapter 21 (Strings),
11
      <a class="link" href="bk01pt05ch13s06.html" title="CString (MFC)"> describing how to
12
      format strings</a>.
13
   </p><p>The quick definition is:  they are siblings of ifstream and ofstream,
14
      and they do for <code class="code">std::string</code> what their siblings do for
15
      files.  All that work you put into writing <code class="code">&lt;&lt;</code> and
16
      <code class="code">&gt;&gt;</code> functions for your classes now pays off
17
      <span class="emphasis"><em>again!</em></span>  Need to format a string before passing the string
18
      to a function?  Send your stuff via <code class="code">&lt;&lt;</code> to an
19
      ostringstream.  You've read a string as input and need to parse it?
20
      Initialize an istringstream with that string, and then pull pieces
21
      out of it with <code class="code">&gt;&gt;</code>.  Have a stringstream and need to
22
      get a copy of the string inside?  Just call the <code class="code">str()</code>
23
      member function.
24
   </p><p>This only works if you've written your
25
      <code class="code">&lt;&lt;</code>/<code class="code">&gt;&gt;</code> functions correctly, though,
26
      and correctly means that they take istreams and ostreams as
27
      parameters, not i<span class="emphasis"><em>f</em></span>streams and o<span class="emphasis"><em>f</em></span>streams.  If they
28
      take the latter, then your I/O operators will work fine with
29
      file streams, but with nothing else -- including stringstreams.
30
   </p><p>If you are a user of the strstream classes, you need to update
31
      your code.  You don't have to explicitly append <code class="code">ends</code> to
32
      terminate the C-style character array, you don't have to mess with
33
      "freezing" functions, and you don't have to manage the
34
      memory yourself.  The strstreams have been officially deprecated,
35
      which means that 1) future revisions of the C++ Standard won't
36
      support them, and 2) if you use them, people will laugh at you.
37
   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt11ch25s02.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="fstreams.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Buffering </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 27. File Based Streams</td></tr></table></div></body></html>

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.