<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ostream schreibt 2 byte zu viel]]></title><description><![CDATA[<p>hi<br />
ich habe eine forschleife, in der ich mit put einzelnde bytes schreibe.<br />
aber die datei ist am ende zwei bytes zu groß. eine andere datei die ich auch in der forschleife schreibe ist zwei byte kleiner. testausgaben geben mir die kleinere größe zurück.</p>
<pre><code class="language-cpp">vector&lt;unsigned char&gt; dat=this-&gt;createData();

    cout&lt;&lt;dat.size()&lt;&lt;endl;//454

    ofstream saveStream(file.c_str());
    if(!saveStream.is_open()){return false;};

    int cnt=0;
    ofstream s2(&quot;F:\\%test\\12132.bmp&quot;);

    for(unsigned int i=0;i&lt;dat.size();i++){
        saveStream.put(dat[i]);//größe am ende 456 byte
        s2.put(111);//größe am ende 454 byte
        cnt++;
    };
    saveStream.close();s2.close();

    cout&lt;&lt;cnt&lt;&lt;endl;//454
</code></pre>
<p>wie kann das kommen?<br />
was mache ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/274418/ostream-schreibt-2-byte-zu-viel</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 13:14:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/274418.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 25 Sep 2010 19:16:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ostream schreibt 2 byte zu viel on Sat, 25 Sep 2010 19:16:31 GMT]]></title><description><![CDATA[<p>hi<br />
ich habe eine forschleife, in der ich mit put einzelnde bytes schreibe.<br />
aber die datei ist am ende zwei bytes zu groß. eine andere datei die ich auch in der forschleife schreibe ist zwei byte kleiner. testausgaben geben mir die kleinere größe zurück.</p>
<pre><code class="language-cpp">vector&lt;unsigned char&gt; dat=this-&gt;createData();

    cout&lt;&lt;dat.size()&lt;&lt;endl;//454

    ofstream saveStream(file.c_str());
    if(!saveStream.is_open()){return false;};

    int cnt=0;
    ofstream s2(&quot;F:\\%test\\12132.bmp&quot;);

    for(unsigned int i=0;i&lt;dat.size();i++){
        saveStream.put(dat[i]);//größe am ende 456 byte
        s2.put(111);//größe am ende 454 byte
        cnt++;
    };
    saveStream.close();s2.close();

    cout&lt;&lt;cnt&lt;&lt;endl;//454
</code></pre>
<p>wie kann das kommen?<br />
was mache ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1957451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957451</guid><dc:creator><![CDATA[ostream]]></dc:creator><pubDate>Sat, 25 Sep 2010 19:16:31 GMT</pubDate></item><item><title><![CDATA[Reply to ostream schreibt 2 byte zu viel on Sat, 25 Sep 2010 19:21:34 GMT]]></title><description><![CDATA[<p>In die Falle bin ich letztens auch gelaufen.</p>
<p>Öffne den Stream mal mit</p>
<pre><code class="language-cpp">ofstream saveStream(file.c_str(), ios::out | ios::binary | ios::trunc);
</code></pre>
<p>Sonst wird im Text Modus geschrieben und da werden z.B. Zeilenumbrüche an die Systemgegebenheiten angepasst (&quot;\n&quot; wird zu &quot;\r\n&quot;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1957453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957453</guid><dc:creator><![CDATA[DerKuchen]]></dc:creator><pubDate>Sat, 25 Sep 2010 19:21:34 GMT</pubDate></item><item><title><![CDATA[Reply to ostream schreibt 2 byte zu viel on Sat, 25 Sep 2010 19:23:24 GMT]]></title><description><![CDATA[<p>was für ein blöder fehler.....<br />
aber vielen dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1957455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957455</guid><dc:creator><![CDATA[ostream]]></dc:creator><pubDate>Sat, 25 Sep 2010 19:23:24 GMT</pubDate></item></channel></rss>