<?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[Speicherbereich erweitern]]></title><description><![CDATA[<p>Hallo,<br />
ich empfange Daten mittels sockets und recv von einer Gegenstelle (IMAP). Leider weiß ich vorraus nicht wie wieviele Daten. Es gibt einen Ende-String der irgendwo kurz vorm Schluss erscheint. Danach das nächste CRLF ist das Endezeichen. Die Datenmenge kann zwischen 1KB und 100MB liegen. Es sind nur lesbare Zeichen. Also kein 0x0 oder so.</p>
<p>Der Einfachheit halber hatte ich einen CString als Buffer. Funktioniert prima einfach, führt aber zu 100% CPU Last.</p>
<p>Ich könnte einen Buffer anlegen. Aber wie groß soll ich den machen?<br />
VirtualAlloc erweitern?<br />
Einen neuen anlegen der doppelt so groß ist und den gesamten Inhalt übertragen?</p>
<p>Ich habe eine Schätzung die auch 1KB genau sein sollte. Ich könnte dazu einfach 10K hinzuaddieren. Aber wenn es nicht reich?</p>
<p>Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/256736/speicherbereich-erweitern</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 04:39:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256736.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Dec 2009 01:25:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Speicherbereich erweitern on Thu, 17 Dec 2009 01:25:10 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich empfange Daten mittels sockets und recv von einer Gegenstelle (IMAP). Leider weiß ich vorraus nicht wie wieviele Daten. Es gibt einen Ende-String der irgendwo kurz vorm Schluss erscheint. Danach das nächste CRLF ist das Endezeichen. Die Datenmenge kann zwischen 1KB und 100MB liegen. Es sind nur lesbare Zeichen. Also kein 0x0 oder so.</p>
<p>Der Einfachheit halber hatte ich einen CString als Buffer. Funktioniert prima einfach, führt aber zu 100% CPU Last.</p>
<p>Ich könnte einen Buffer anlegen. Aber wie groß soll ich den machen?<br />
VirtualAlloc erweitern?<br />
Einen neuen anlegen der doppelt so groß ist und den gesamten Inhalt übertragen?</p>
<p>Ich habe eine Schätzung die auch 1KB genau sein sollte. Ich könnte dazu einfach 10K hinzuaddieren. Aber wenn es nicht reich?</p>
<p>Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823814</guid><dc:creator><![CDATA[StefanKittel]]></dc:creator><pubDate>Thu, 17 Dec 2009 01:25:10 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherbereich erweitern on Thu, 17 Dec 2009 10:44:43 GMT]]></title><description><![CDATA[<blockquote>
<p>Der Einfachheit halber hatte ich einen CString als Buffer. Funktioniert prima einfach, führt aber zu 100% CPU Last.</p>
</blockquote>
<p>Warum soll allein die Verwendung eines CStrings zu 100% CPU-Last fuehren?</p>
<blockquote>
<p>Ich könnte einen Buffer anlegen. Aber wie groß soll ich den machen?</p>
</blockquote>
<p>Warum vorher darueber Gedanken machen. C++ bietet mittels std::vector und anderen Containern genug Alternativen.</p>
<blockquote>
<p>Einen neuen anlegen der doppelt so groß ist und den gesamten Inhalt übertragen?</p>
</blockquote>
<p>Wird automatisch z.B. von std::vector uebernommen.</p>
<p>Auch gibt es einige Bibliotheken, die dir die Arbeit noch weiter vereinfachen wie boost.Asio.</p>
<p>PS: Es gibt einen Unterschied zwischen c-String (oder char-Array), CString und std::string.</p>
<p>Edit: Doppelposts sind im Allgemeinen nicht erwuenscht <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-256562-and-highlight-is-.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-256562-and-highlight-is-.html</a> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823878</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Thu, 17 Dec 2009 10:44:43 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherbereich erweitern on Thu, 17 Dec 2009 11:52:43 GMT]]></title><description><![CDATA[<p>Nimm std::vector und reserviere anfangs einfach deine Schätzung + 1 MB oder so.<br />
Selbst wenn selbst das nicht reicht, kümmert sich std::vector ohne weiteres Zutun darum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823914</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Thu, 17 Dec 2009 11:52:43 GMT</pubDate></item></channel></rss>