<?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[Problem mit new]]></title><description><![CDATA[<p>Hallo wenn ich z.b. eine 18 eingebe dann kommt bei strlen eine 22 raus was mach ich da falsch ?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{

char *var;
int s;

cout&lt;&lt;&quot;Eingabe: &quot;;   // 77
cin&gt;&gt; s ;

var = new char [ s ] ;

        for ( int i=0; i &lt; s  ; i++)
        {
            var[i] = '\x90';

        }

delete [] var;

cout&lt;&lt;strlen(var);

system(&quot;PAUSE&quot;);
return 0;
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/270078/problem-mit-new</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 14:50:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270078.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Jul 2010 10:57:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit new on Tue, 06 Jul 2010 10:57:11 GMT]]></title><description><![CDATA[<p>Hallo wenn ich z.b. eine 18 eingebe dann kommt bei strlen eine 22 raus was mach ich da falsch ?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{

char *var;
int s;

cout&lt;&lt;&quot;Eingabe: &quot;;   // 77
cin&gt;&gt; s ;

var = new char [ s ] ;

        for ( int i=0; i &lt; s  ; i++)
        {
            var[i] = '\x90';

        }

delete [] var;

cout&lt;&lt;strlen(var);

system(&quot;PAUSE&quot;);
return 0;
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1922152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922152</guid><dc:creator><![CDATA[new_]]></dc:creator><pubDate>Tue, 06 Jul 2010 10:57:11 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit new on Tue, 06 Jul 2010 11:03:04 GMT]]></title><description><![CDATA[<p>Der Aufruf von strlen nach dem Aufruf von delete für zu einem nicht definierten Ergebnis.</p>
<p>mfg Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922154</guid><dc:creator><![CDATA[mgaeckler]]></dc:creator><pubDate>Tue, 06 Jul 2010 11:03:04 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit new on Tue, 06 Jul 2010 11:04:09 GMT]]></title><description><![CDATA[<p>strlen zählt die Zeichen bis zum ersten Nullzeichen. Da dein char-Array keine Nullzeichen enthält wird so lange weitergezählt bis im Arbeitsspeicher zufällig irgendwann mal eine Null steht.</p>
<p>Allgemein muss man sich bei dynamischen Arrays selber merken wie groß sie sind (oder besser gleich eine Containerklasse benutzen). Es gibt im nachhinein keine Möglichkeit die Größe festzustellen (außer wenn man sich einen eigenen Operator new schreibt, dann könnte man dies als Feature einbauen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922156</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 06 Jul 2010 11:04:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit new on Tue, 06 Jul 2010 11:04:25 GMT]]></title><description><![CDATA[<p>mgaeckler schrieb:</p>
<blockquote>
<p>Der Aufruf von strlen nach dem Aufruf von delete für zu einem nicht definierten Ergebnis.</p>
<p>mfg Martin</p>
</blockquote>
<p>Außerdem fehlt das abschließende NULL-Byte.</p>
<p>mfg Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922157</guid><dc:creator><![CDATA[mgaeckler]]></dc:creator><pubDate>Tue, 06 Jul 2010 11:04:25 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit new on Tue, 06 Jul 2010 11:07:01 GMT]]></title><description><![CDATA[<p>Wie kann ich denn dann den Speicherreservieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922161</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922161</guid><dc:creator><![CDATA[new_]]></dc:creator><pubDate>Tue, 06 Jul 2010 11:07:01 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit new on Tue, 06 Jul 2010 11:10:54 GMT]]></title><description><![CDATA[<p>new_ schrieb:</p>
<blockquote>
<p>Wie kann ich denn dann den Speicherreservieren?</p>
</blockquote>
<p>Das hast Du schon richtig gemacht. Versuch's aber mal damit:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
using namespace std; 

int main() 
{ 

char *var; 
int s; 

cout&lt;&lt;&quot;Eingabe: &quot;;   // 77 
cin&gt;&gt; s ; 

var = new char [ s+1 ] ;    // &lt;--- Platz für NULL-Byte nicht vergessen

        for ( int i=0; i &lt; s  ; i++) 
        { 
            var[i] = '\x90'; 

        }
        var[s] = 0;   // &lt;--- letztes NULL-Byte

cout&lt;&lt;strlen(var); // &lt;---- VOR dem delete

delete [] var; 

system(&quot;PAUSE&quot;); 
return 0; 
} 
//---------------------------------------------------------------------------
</code></pre>
<p>mfg Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922163</guid><dc:creator><![CDATA[mgaeckler]]></dc:creator><pubDate>Tue, 06 Jul 2010 11:10:54 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit new on Tue, 06 Jul 2010 11:12:22 GMT]]></title><description><![CDATA[<p>new_ schrieb:</p>
<blockquote>
<p>Wie kann ich denn dann den Speicherreservieren?</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Was hindert dich denn daran es so zu tun, wie du getan hast? Dein Fehler lag in der falschen Benutzung von strlen. Und was willst du überhaupt machen? Speicher reservieren muss man in C++ eigentlich nur äußerst selten selber machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922165</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 06 Jul 2010 11:12:22 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit new on Tue, 06 Jul 2010 12:23:31 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Speicher reservieren muss man in C++ eigentlich nur äußerst selten selber machen.</p>
</blockquote>
<p>Das glaube ich nun gar nicht! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /><br />
Ich mache davon weiterhin regen Gebrauch, um Speicherplatz sparsam anzufordern und gezielt wieder freizugeben, wenn ich ihn nicht mehr brauche. :p<br />
Das interessiert aber nur bei grösseren Speicheranforderungen, nicht unbedingt bei jedem Characterstring.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922194</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Tue, 06 Jul 2010 12:23:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit new on Tue, 06 Jul 2010 12:33:21 GMT]]></title><description><![CDATA[<p>berniebutt schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Speicher reservieren muss man in C++ eigentlich nur äußerst selten selber machen.</p>
</blockquote>
<p>Das glaube ich nun gar nicht! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /><br />
Ich mache davon weiterhin regen Gebrauch, um Speicherplatz sparsam anzufordern und gezielt wieder freizugeben, wenn ich ihn nicht mehr brauche. :p<br />
Das interessiert aber nur bei grösseren Speicheranforderungen, nicht unbedingt bei jedem Characterstring.</p>
</blockquote>
<p>Pfft... Man wird nie mehr als 64kb Speicher benötigen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922205</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 06 Jul 2010 12:33:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit new on Tue, 06 Jul 2010 13:53:39 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Pfft... Man wird nie mehr als 64kb Speicher benötigen!</p>
</blockquote>
<p>64 kb ist auch schon eine Menge Holz, wenn man davon nur wenige Bytes tatsächlich braucht. Mein Programmierstil stammt noch aus der alten Zeit, wo mehr als z.B. 180 kb für alles ein Sonderjob für die Nachtstunden auf Grossrechnern war. Man hat sich da mit Dateien auf Magnetbändern und Chains - also der Abfolge mehrerer Programme - behelfen müssen. Und überhaupt, auch 64 kb sind schnell überschritten. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922279</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Tue, 06 Jul 2010 13:53:39 GMT</pubDate></item></channel></rss>