<?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[VirtualList und vectors?]]></title><description><![CDATA[<p>Hallo,<br />
hab problem beim sortieren von vectoren, vielleicht hat jemand eine idee wie ich das zu lösen habe!<br />
Problem: ich habe ein CListCtrl mit der option LVS_OWNERDATA und alle daten werden in einem vector gehalten, nun wenn ich sortiere bricht das programm ab, das anzeigen geht gut? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Hier hab ich gelesen das beim sortieren auch die funktion erase aufgerufen werden muss? Wo muss ich die aufrufen, in der sortierfunktion selber oder wo?</p>
<p>danke<br />
vector</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180380/virtuallist-und-vectors</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 10:03:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180380.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 May 2007 07:20:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to VirtualList und vectors? on Wed, 02 May 2007 07:20:17 GMT]]></title><description><![CDATA[<p>Hallo,<br />
hab problem beim sortieren von vectoren, vielleicht hat jemand eine idee wie ich das zu lösen habe!<br />
Problem: ich habe ein CListCtrl mit der option LVS_OWNERDATA und alle daten werden in einem vector gehalten, nun wenn ich sortiere bricht das programm ab, das anzeigen geht gut? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Hier hab ich gelesen das beim sortieren auch die funktion erase aufgerufen werden muss? Wo muss ich die aufrufen, in der sortierfunktion selber oder wo?</p>
<p>danke<br />
vector</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277301</guid><dc:creator><![CDATA[vector]]></dc:creator><pubDate>Wed, 02 May 2007 07:20:17 GMT</pubDate></item><item><title><![CDATA[Reply to VirtualList und vectors? on Wed, 02 May 2007 07:57:00 GMT]]></title><description><![CDATA[<p>Zeig uns doch mal den Code wie Du sortierst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277318</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 02 May 2007 07:57:00 GMT</pubDate></item><item><title><![CDATA[Reply to VirtualList und vectors? on Wed, 02 May 2007 08:29:49 GMT]]></title><description><![CDATA[<p>Hallo,<br />
möchte noch dazusagen das die Sortierfunktion keine Fehler ausgibt wenn ich nur 10<br />
Das Project ist ein Beispielproject vom codeproject über virtuelle listen!<br />
Einträge erstelle, nur wenn es mehr sind, und so rufe ich die auf:</p>
<pre><code class="language-cpp">sort(m_database.begin(), m_database.end(), compare_v);	// compare_v ist dann meine  Funktion
// und so sortiere ich(verkürzt dargestellt):
int compare_v(const CSampleData&amp; d1, const CSampleData&amp; d2)
{
	if(b_ascending)
		return lstrcmp(d1.m_name, d2.m_name);
	else
		return lstrcmp(d2.m_name, d1.m_name);
}

// hier ein zwiter versuch:
int compare_v(const CSampleData&amp; d1, const CSampleData&amp; d2)
{
	//return lstrcmp(d1.m_name, d2.m_name);
	// hier hab ich das if(b_ascending) weggelassen...
	if(0 &gt; lstrcmp(d1.m_name, d2.m_name))
		return -1;
	else if(0 &lt; lstrcmp(d1.m_name, d2.m_name)) // wenn ich diese und die nächste zeile dekomentiere, dann gehts???
		return 1;
	else 
		return 0;
}
</code></pre>
<p>Irgendwas mach ich mächtig falsch! Was?<br />
Dan beim debuggen kann ich sehen das einer von den Strings leer ist, abhängig davon ob ich absteigend oder aufsteigend sortiere! und nur dann brichts ab!? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Danke<br />
vector</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277335</guid><dc:creator><![CDATA[vector]]></dc:creator><pubDate>Wed, 02 May 2007 08:29:49 GMT</pubDate></item><item><title><![CDATA[Reply to VirtualList und vectors? on Wed, 02 May 2007 08:34:45 GMT]]></title><description><![CDATA[<p>sort erwartet keine DReifach-Auswahl, sondern nur die Entscheidung &quot;ist kleiner&quot; vs. &quot;ist größer-gleich&quot;. Von daher ist dein Sortierkrierium einfach falsch (+1 und -1 werden als true angesehen, 0 als false). Richtiger sieht es so aus:</p>
<pre><code class="language-cpp">int compare_v(const CSampleData&amp; d1, const CSampleData&amp; d2)
{
    return lstrcmp(d1.m_name, d2.m_name)&gt;0;//bzw. &lt;0
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1277337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277337</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 02 May 2007 08:34:45 GMT</pubDate></item><item><title><![CDATA[Reply to VirtualList und vectors? on Wed, 02 May 2007 08:49:46 GMT]]></title><description><![CDATA[<p>Hallo,<br />
besten dank für die antwort!<br />
Jetzt gehts!<br />
vector!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277345</guid><dc:creator><![CDATA[vector]]></dc:creator><pubDate>Wed, 02 May 2007 08:49:46 GMT</pubDate></item></channel></rss>