<?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[string aus string.h in char * umwandeln]]></title><description><![CDATA[<p>hi,</p>
<p>ich einem Programm von mir muss ich mit der Funktion recv() Daten empfangen.<br />
Als zweiten Parameter erwartet diese Funktion anscheinen einen char *.<br />
Da ich allerdings mit strings aus string.h arbeite um Buffer-Overflows zu vermeiden, habe ich nun ein Problem in der Konvertierung von diesem string.<br />
string.c_str() funktioniert leider nicht, habe es schon ausprobiert.<br />
Hab auch schon gegoogelt, aber bekomme nur Trash.<br />
habt ihr ne Lösung für das Problem?</p>
<p>schon im voraus vielen Dank für eure Antworten</p>
<p>mfg<br />
#pointer#</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/129928/string-aus-string-h-in-char-umwandeln</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 11:35:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/129928.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Dec 2005 00:23:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to string aus string.h in char * umwandeln on Sun, 18 Dec 2005 00:23:54 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>ich einem Programm von mir muss ich mit der Funktion recv() Daten empfangen.<br />
Als zweiten Parameter erwartet diese Funktion anscheinen einen char *.<br />
Da ich allerdings mit strings aus string.h arbeite um Buffer-Overflows zu vermeiden, habe ich nun ein Problem in der Konvertierung von diesem string.<br />
string.c_str() funktioniert leider nicht, habe es schon ausprobiert.<br />
Hab auch schon gegoogelt, aber bekomme nur Trash.<br />
habt ihr ne Lösung für das Problem?</p>
<p>schon im voraus vielen Dank für eure Antworten</p>
<p>mfg<br />
#pointer#</p>
]]></description><link>https://www.c-plusplus.net/forum/post/944612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944612</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 18 Dec 2005 00:23:54 GMT</pubDate></item><item><title><![CDATA[Reply to string aus string.h in char * umwandeln on Sun, 18 Dec 2005 00:25:03 GMT]]></title><description><![CDATA[<p>&amp;s[0] - sorg vorher per resize() daafür, dass genug platz da ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/944613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944613</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 18 Dec 2005 00:25:03 GMT</pubDate></item><item><title><![CDATA[Reply to string aus string.h in char * umwandeln on Sun, 18 Dec 2005 00:26:54 GMT]]></title><description><![CDATA[<p>wie meinst du genau?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/944615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944615</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 18 Dec 2005 00:26:54 GMT</pubDate></item><item><title><![CDATA[Reply to string aus string.h in char * umwandeln on Sun, 18 Dec 2005 11:03:57 GMT]]></title><description><![CDATA[<p>Du sollst den Zeiger auf das erste Element des Strings (&amp;s[0]) an die Funktion übergeben und vorher per s.resize (bla) dafür sorgen, dass genug Platz da ist.<br />
Mit c_str() funktioniert es nicht, weil c_str einen const char* zurückliefert.<br />
Du könntest zwar versuchen, das const wegzucasten, aber ich glaube nicht, dass das in deinem Sinn ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/944713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944713</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sun, 18 Dec 2005 11:03:57 GMT</pubDate></item><item><title><![CDATA[Reply to string aus string.h in char * umwandeln on Sun, 18 Dec 2005 11:41:08 GMT]]></title><description><![CDATA[<p>#pointer# schrieb:</p>
<blockquote>
<p>ich einem Programm von mir muss ich mit der Funktion recv() Daten empfangen.<br />
Als zweiten Parameter erwartet diese Funktion anscheinen einen char *.</p>
</blockquote>
<p>Du hast da was falsch verstanden. recv erwartet zwar einen char* Parameter, dies bedeutet aber nicht automatisch String. Und C-String schon gar nicht. char* ist erstmal ein simples Byte Array, du kannst also genauso gut mit std::vector&lt;char&gt; oder boost::array&lt;char, N&gt; arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/944737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944737</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Sun, 18 Dec 2005 11:41:08 GMT</pubDate></item><item><title><![CDATA[Reply to string aus string.h in char * umwandeln on Sun, 18 Dec 2005 12:37:05 GMT]]></title><description><![CDATA[<p>ok, vielen Dank für die Antworten.</p>
<p>also soll das in etwas so aussehen:</p>
<pre><code class="language-cpp">...
string.resize(sizeof(string));
rc=recv(s,&amp;string[0],groeße,0);
...
</code></pre>
<p>stimmt des so ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/944788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944788</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 18 Dec 2005 12:37:05 GMT</pubDate></item><item><title><![CDATA[Reply to string aus string.h in char * umwandeln on Sun, 18 Dec 2005 13:48:05 GMT]]></title><description><![CDATA[<p>#pointer# schrieb:</p>
<blockquote>
<pre><code class="language-cpp">string.resize(sizeof(string));
</code></pre>
</blockquote>
<p>Das is ziemlich sinnlos. Du &quot;vergrößerst&quot; den Platz für Zeichen auf die Größe des String-Objektes. Du solltest wissen, wie groß der String, der von recv kommt maximal sein kann und auf diese Größe vergrößern.<br />
Außerdem is ß wohl kaum erlaubt <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/944813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944813</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sun, 18 Dec 2005 13:48:05 GMT</pubDate></item><item><title><![CDATA[Reply to string aus string.h in char * umwandeln on Sun, 18 Dec 2005 14:36:29 GMT]]></title><description><![CDATA[<p>ok, also:</p>
<pre><code class="language-cpp">string.resize(200);
</code></pre>
<p>?</p>
<p>stimmt das wenigstens?</p>
<pre><code class="language-cpp">rc=recv(s,&amp;string[0],groesse,0);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/944845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944845</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 18 Dec 2005 14:36:29 GMT</pubDate></item><item><title><![CDATA[Reply to string aus string.h in char * umwandeln on Mon, 19 Dec 2005 07:48:14 GMT]]></title><description><![CDATA[<p>Warum nicht einfach: &quot;str.resize(groesse);&quot;? Wenn ich das richtig in Erinnerung habe, dürfte das die Menge sein, die du im nächsten Schritt anfordern willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/945279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945279</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 19 Dec 2005 07:48:14 GMT</pubDate></item></channel></rss>