<?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[delete [] problem]]></title><description><![CDATA[<p>kann mir jemand verraten warum ich bei dieser funktion ein error bei delete bekomm ?</p>
<p>&quot;CRT detected that the application wrote to memory after end of heap buffer&quot;</p>
<pre><code class="language-cpp">std::wstring CLists::GetItemText(UINT Pos){
	int NameLenght = (int)::SendMessage(m_Handle, LB_GETTEXTLEN, Pos, NULL);
	TCHAR *Name = new TCHAR[NameLenght];
	SecureZeroMemory(Name, NameLenght);
	::SendMessage(m_Handle, LB_GETTEXT, Pos, (LPARAM)Name);
	std::wstring os(Name);
	delete [] Name;
	return os;
}
</code></pre>
<p>{VS 2005 Prof}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/169972/delete-problem</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 23:04:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/169972.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Jan 2007 16:03:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 16:03:07 GMT]]></title><description><![CDATA[<p>kann mir jemand verraten warum ich bei dieser funktion ein error bei delete bekomm ?</p>
<p>&quot;CRT detected that the application wrote to memory after end of heap buffer&quot;</p>
<pre><code class="language-cpp">std::wstring CLists::GetItemText(UINT Pos){
	int NameLenght = (int)::SendMessage(m_Handle, LB_GETTEXTLEN, Pos, NULL);
	TCHAR *Name = new TCHAR[NameLenght];
	SecureZeroMemory(Name, NameLenght);
	::SendMessage(m_Handle, LB_GETTEXT, Pos, (LPARAM)Name);
	std::wstring os(Name);
	delete [] Name;
	return os;
}
</code></pre>
<p>{VS 2005 Prof}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207229</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Wed, 10 Jan 2007 16:03:07 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 16:13:13 GMT]]></title><description><![CDATA[<p>Kenn mich mit WinAPI nicht aus, aber rechnet LB_GETTEXTLEN das erforderliche Nullbyte mit? Rein logisch gehört das nämlich nicht zur Text-Länge <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207235</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 10 Jan 2007 16:13:13 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 18:15:45 GMT]]></title><description><![CDATA[<p>ne die anzahl stimmt</p>
<p>&quot;::SendMessage(m_Handle, LB_GETTEXTLEN, Pos, NULL);&quot; returniert 6 und der string ist &quot;Second&quot;</p>
<p>also anders formuliert (Pseudocode):</p>
<pre><code class="language-cpp">TCHAR *Name = new TCHAR[6];
SecureZeroMemory(Name, 6);
*Name = _T(&quot;Second&quot;)
std::wstring os(Name);
delete [] Name; // error
</code></pre>
<p>ich versteh das nicht wirklich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207340</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Wed, 10 Jan 2007 18:15:45 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 18:19:23 GMT]]></title><description><![CDATA[<p>Also rechnet er die '\0' nicht mit, denn die tatsächliche Länge ist 7.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207345</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Wed, 10 Jan 2007 18:19:23 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 18:24:52 GMT]]></title><description><![CDATA[<p>Joa. Da &quot;Second&quot; sechs Zeichen hat und keines dieser Zeichen ein Nullbyte ist hätte man da mit etwas nachdenken auch selbst drauf kommen können, selbst wenn man das Konzept der C-Strings nicht unbedingt kennt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207349</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 10 Jan 2007 18:24:52 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 18:31:36 GMT]]></title><description><![CDATA[<p>das passt doch irgendwie nicht ?<br />
der fehler muesste dann doch bei der zuweisung kommen und nicht beim delete - und</p>
<p>&quot;CRT detected that the application wrote to memory after end of heap buffer&quot; sagt das er mehr loeschen will als reserviert wurde</p>
<p>-----</p>
<p>#idee-bekommen-hab</p>
<p>kann es sein das das &quot;delete []&quot; n zeichen loeschen will bis ein \0 kommt und da es zu wenig war kommt keines ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207356</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Wed, 10 Jan 2007 18:31:36 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 18:33:27 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">new TCHAR[NameLenght + 1];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1207358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207358</guid><dc:creator><![CDATA[vvvv]]></dc:creator><pubDate>Wed, 10 Jan 2007 18:33:27 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 18:46:28 GMT]]></title><description><![CDATA[<p>stimmt, meine theorie stimmt, habs grad ausprobiert und nu gehts fehlerfrei</p>
<pre><code class="language-cpp">std::wstring CLists::GetItemText(UINT Pos){
    int NameLenght = ((int)::SendMessage(m_Handle, LB_GETTEXTLEN, Pos, NULL)+1);
    TCHAR *Name = new TCHAR[NameLenght];
    SecureZeroMemory(Name, NameLenght);
    ::SendMessage(m_Handle, LB_GETTEXT, Pos, (LPARAM)Name);
    std::wstring os(Name);
    delete []Name;
    return os;
}
</code></pre>
<p>dankeschoen {haette ja mal in den speicher schauen koennen #gg}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207367</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Wed, 10 Jan 2007 18:46:28 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 18:52:20 GMT]]></title><description><![CDATA[<p>Öhm, was genau war noch mal deine Theorie?</p>
<p>Babelfish sagt zu der Fehlermeldung:</p>
<p>Babelfish schrieb:</p>
<blockquote>
<p>CRT ermittelte, daß die Anwendung zum Gedächtnis nach Ende des Haufenpuffers schrieb.</p>
</blockquote>
<p>Es geht definitiv darum, dass du über die Grenzen des angeforderten Speichers schreibst. delete[] kümmert sich nicht um Nullbytes, die Anzahl der Elemente des Arrays werden irgendwo vor dem Anfang des Blocks gespeichert (und zwar unabhängig vom verwendeten Typ, dessen Arrays ja nicht nullterminiert sein müssen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207375</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Wed, 10 Jan 2007 18:52:20 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 19:00:32 GMT]]></title><description><![CDATA[<p>Meine Theorie ist dass Dein Heapmanager im Debug-Modus hinter dem angeforderten Bereich irgendeinen Marker setzt und diesen erst beim delete prüft. Natürlich ist das nur eine Theorie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>BTW:<br />
Die Grenzüberschreitung hat undefiniertes Verhalten zur Folge. Das heisst <strong>nicht</strong> dass er zu genau dem Zeitpunkt abstürzen muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207384</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 10 Jan 2007 19:00:32 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 20:13:58 GMT]]></title><description><![CDATA[<p>meine theorie ist das delete bis zum \0 loeschen will, da der speicher aber zu klein war und das \0 nicht mitgespeichert wurde will er weiterloeschen als er darf</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207458</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Wed, 10 Jan 2007 20:13:58 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 20:21:51 GMT]]></title><description><![CDATA[<p>Liest Du was hier geschrieben wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207465</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 10 Jan 2007 20:21:51 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Wed, 10 Jan 2007 21:38:05 GMT]]></title><description><![CDATA[<p>Mr Evil schrieb:</p>
<blockquote>
<p>meine theorie ist das delete bis zum \0 loeschen will</p>
</blockquote>
<p>Nein, delete ist es vollkommen egal, was im Speicher steht. Wohlgemerkt der Speicher der Nutzdaten. Also die Anzahl der Bytes, die new reservieren soll. Wie LordJaxom schon schrieb, wird der Fehler daher rühren, dass durch das Überschreiben von irgendwelchen Kontrolldaten ausserhalb der eigentlichen Nutzdaten der Speichermanager Amok läuft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207537</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Wed, 10 Jan 2007 21:38:05 GMT</pubDate></item><item><title><![CDATA[Reply to delete [] problem on Thu, 11 Jan 2007 07:17:59 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Liest Du was hier geschrieben wird?</p>
</blockquote>
<p>konnte gestern nur ueberfliegen hatte kaum zeit - dank fuer die ausfuehrlichen erklaerungen {=</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1207628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1207628</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 11 Jan 2007 07:17:59 GMT</pubDate></item></channel></rss>