A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2FFile_Stream%2Fostrstream</id>
		<title>C++ Tutorial/File Stream/ostrstream - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2FFile_Stream%2Fostrstream"/>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B_Tutorial/File_Stream/ostrstream&amp;action=history"/>
		<updated>2026-04-04T00:24:09Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B_Tutorial/File_Stream/ostrstream&amp;diff=2968&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B_Tutorial/File_Stream/ostrstream&amp;diff=2968&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:17Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B_Tutorial/File_Stream/ostrstream&amp;diff=2969&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B_Tutorial/File_Stream/ostrstream&amp;diff=2969&amp;oldid=prev"/>
				<updated>2010-05-25T10:31:14Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Check how many characters are stored in ostrstream==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;strstream&amp;gt;    &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;   &lt;br /&gt;
using namespace std;&lt;br /&gt;
main()   &lt;br /&gt;
{   &lt;br /&gt;
  char str[80];   &lt;br /&gt;
     &lt;br /&gt;
  ostrstream outs(str, sizeof(str));   &lt;br /&gt;
     &lt;br /&gt;
  outs &amp;lt;&amp;lt; &amp;quot;Hello &amp;quot;;   &lt;br /&gt;
  outs &amp;lt;&amp;lt; 34 &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; 1234.23;   &lt;br /&gt;
  outs &amp;lt;&amp;lt; ends;  &lt;br /&gt;
     &lt;br /&gt;
  cout &amp;lt;&amp;lt; outs.pcount(); // display how many chars in outs   &lt;br /&gt;
     &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; str;   &lt;br /&gt;
     &lt;br /&gt;
  return 0;   &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Display how many chars in ostrstream==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;strstream&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  char str[80];&lt;br /&gt;
  ostrstream outs(str, sizeof(str));&lt;br /&gt;
  outs &amp;lt;&amp;lt; &amp;quot;abcdefg &amp;quot;;&lt;br /&gt;
  outs &amp;lt;&amp;lt; 27 &amp;lt;&amp;lt; &amp;quot; &amp;quot;  &amp;lt;&amp;lt; 890.23;&lt;br /&gt;
  outs &amp;lt;&amp;lt; ends;  // null terminate&lt;br /&gt;
  cout &amp;lt;&amp;lt; outs.pcount(); // display how many chars in outs&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; str;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;18 abcdefg 27 890.23&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Freeze dynamic buffer and return pointer to it==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;strstream&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  char *p;&lt;br /&gt;
  ostrstream outs;&lt;br /&gt;
  outs &amp;lt;&amp;lt; &amp;quot;AAAAAAAAAAAAAAAAAAAA&amp;quot;;&lt;br /&gt;
  outs &amp;lt;&amp;lt; -10 &amp;lt;&amp;lt; hex &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  outs.setf(ios::showbase);&lt;br /&gt;
  outs &amp;lt;&amp;lt; 100 &amp;lt;&amp;lt; ends;&lt;br /&gt;
  p = outs.str();&lt;br /&gt;
  cout &amp;lt;&amp;lt; p;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;AAAAAAAAAAAAAAAAAAAA-10 0x64&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Make ostringstream work with decimal, hexadecimal value, floating value, bitset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;/* The following code example is taken from the book&lt;br /&gt;
 * &amp;quot;The C++ Standard Library - A Tutorial and Reference&amp;quot;&lt;br /&gt;
 * by Nicolai M. Josuttis, Addison-Wesley, 1999&lt;br /&gt;
 *&lt;br /&gt;
 * (C) Copyright Nicolai M. Josuttis 1999.&lt;br /&gt;
 * Permission to copy, use, modify, sell and distribute this software&lt;br /&gt;
 * is granted provided this copyright notice appears in all copies.&lt;br /&gt;
 * This software is provided &amp;quot;as is&amp;quot; without express or implied&lt;br /&gt;
 * warranty, and with no claim as to its suitability for any purpose.&lt;br /&gt;
 */&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;sstream&amp;gt;&lt;br /&gt;
#include &amp;lt;bitset&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    ostringstream os;&lt;br /&gt;
    // decimal and hexadecimal value&lt;br /&gt;
    os &amp;lt;&amp;lt; &amp;quot;dec: &amp;quot; &amp;lt;&amp;lt; 15 &amp;lt;&amp;lt; hex &amp;lt;&amp;lt; &amp;quot; hex: &amp;quot; &amp;lt;&amp;lt; 15 &amp;lt;&amp;lt; endl;&lt;br /&gt;
    cout &amp;lt;&amp;lt; os.str() &amp;lt;&amp;lt; endl;&lt;br /&gt;
    // append floating value and bitset&lt;br /&gt;
    bitset&amp;lt;15&amp;gt; b(5789);&lt;br /&gt;
    os &amp;lt;&amp;lt; &amp;quot;float: &amp;quot; &amp;lt;&amp;lt; 4.67 &amp;lt;&amp;lt; &amp;quot; bitset: &amp;quot; &amp;lt;&amp;lt; b &amp;lt;&amp;lt; endl;&lt;br /&gt;
    // overwrite with octal value&lt;br /&gt;
    os.seekp(0);&lt;br /&gt;
    os &amp;lt;&amp;lt; &amp;quot;oct: &amp;quot; &amp;lt;&amp;lt; oct &amp;lt;&amp;lt; 15;&lt;br /&gt;
    cout &amp;lt;&amp;lt; os.str() &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;dec: 15 hex: f&lt;br /&gt;
oct: 17 hex: f&lt;br /&gt;
float: 4.67 bitset: 001011010011101&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ostrstream with format==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;strstream&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  char str[80];&lt;br /&gt;
  ostrstream outs(str, sizeof(str));&lt;br /&gt;
  outs &amp;lt;&amp;lt; &amp;quot;AAAAAAAAAAAAAAAA. &amp;quot;;&lt;br /&gt;
  outs &amp;lt;&amp;lt; 1024 &amp;lt;&amp;lt; hex &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  outs.setf(ios::showbase);&lt;br /&gt;
  outs &amp;lt;&amp;lt; 100 &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; 99.789 &amp;lt;&amp;lt; ends;&lt;br /&gt;
  cout &amp;lt;&amp;lt; str;  // display string on console&lt;br /&gt;
  return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;AAAAAAAAAAAAAAAA. 1024 0x64 99.789&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output of several data types to an ostringstream object: double, int and address of int==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using std::cout;&lt;br /&gt;
using std::endl;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
using std::string;&lt;br /&gt;
#include &amp;lt;sstream&amp;gt;&lt;br /&gt;
using std::ostringstream;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   ostringstream outputString;&lt;br /&gt;
   string string1( &amp;quot;string &amp;quot; );&lt;br /&gt;
   double double1 = 123.4567;&lt;br /&gt;
   int integer = 22;&lt;br /&gt;
   outputString &amp;lt;&amp;lt; string1 &amp;lt;&amp;lt; double1  &amp;lt;&amp;lt; integer &amp;lt;&amp;lt; &amp;amp;integer;&lt;br /&gt;
   // call str to obtain string contents of the ostringstream&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;outputString contains:\n&amp;quot; &amp;lt;&amp;lt; outputString.str();&lt;br /&gt;
   return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;outputString contains:&lt;br /&gt;
string 123.457220x22fe74&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Save string with ostringstream==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;sstream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Enter tokens. Control-D (Unix) or Control-Z (Windows) to end.&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
  ostringstream outStream;&lt;br /&gt;
  while (cin) {&lt;br /&gt;
    string nextToken;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Next token: &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; nextToken;&lt;br /&gt;
    if (nextToken == &amp;quot;done&amp;quot;) break;&lt;br /&gt;
    outStream &amp;lt;&amp;lt; nextToken &amp;lt;&amp;lt; &amp;quot;\t&amp;quot;;        &lt;br /&gt;
  }&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;The end result is: &amp;quot; &amp;lt;&amp;lt; outStream.str();&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>