<?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[char * als Parameter]]></title><description><![CDATA[<p>Hier ist eine Funktion mit der signatur: void foo(char * data);</p>
<p>Welche sicheren Methoden gibt es, diesen data pointer bereitzustellen?</p>
<p>Mir fallen nur zwei Wege ein: Wenn größe nicht bekannt, dann ein buffer wie char buf[255]; erzeugen. Wenn größe bekannt ist, mit new dynamisch alloziieren und danach löschen.<br />
Das wirkt allerdings noch so C, gibts da noch andere Wege?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/243495/char-als-parameter</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 01:40:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/243495.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Jun 2009 13:33:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to char * als Parameter on Wed, 17 Jun 2009 13:33:36 GMT]]></title><description><![CDATA[<p>Hier ist eine Funktion mit der signatur: void foo(char * data);</p>
<p>Welche sicheren Methoden gibt es, diesen data pointer bereitzustellen?</p>
<p>Mir fallen nur zwei Wege ein: Wenn größe nicht bekannt, dann ein buffer wie char buf[255]; erzeugen. Wenn größe bekannt ist, mit new dynamisch alloziieren und danach löschen.<br />
Das wirkt allerdings noch so C, gibts da noch andere Wege?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728205</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 17 Jun 2009 13:33:36 GMT</pubDate></item><item><title><![CDATA[Reply to char * als Parameter on Wed, 17 Jun 2009 13:38:45 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>Welche sicheren Methoden gibt es, diesen data pointer bereitzustellen?</p>
</blockquote>
<p>Was?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728212</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 17 Jun 2009 13:38:45 GMT</pubDate></item><item><title><![CDATA[Reply to char * als Parameter on Wed, 17 Jun 2009 13:40:31 GMT]]></title><description><![CDATA[<p>Gibt es andere Methoden, wie ich char * bereitstellen kann? Ich kann ja schlecht einen std::string auf eine bestimmte breite initialisieren, und einen zeiger auf das const char * des strings nehmen, const weg casten, et voila <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728213</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 17 Jun 2009 13:40:31 GMT</pubDate></item><item><title><![CDATA[Reply to char * als Parameter on Wed, 17 Jun 2009 13:43:00 GMT]]></title><description><![CDATA[<p>Ändert die Funktion an den Daten was? Wenn ja, woher weiss die Funktion, wie lang das übergebene Feld ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728215</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 17 Jun 2009 13:43:00 GMT</pubDate></item><item><title><![CDATA[Reply to char * als Parameter on Wed, 17 Jun 2009 13:49:16 GMT]]></title><description><![CDATA[<p>Ja, weiß sie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728230</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 17 Jun 2009 13:49:16 GMT</pubDate></item><item><title><![CDATA[Reply to char * als Parameter on Wed, 17 Jun 2009 13:50:23 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>Ändert die Funktion an den Daten was? Wenn ja, woher weiss die Funktion, wie lang das übergebene Feld ist?</p>
</blockquote>
<p>Daher dass der char-Zeiger eine Länge hat? Bzw. irgendwann ja auf Null zeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728232</guid><dc:creator><![CDATA[inflames2k]]></dc:creator><pubDate>Wed, 17 Jun 2009 13:50:23 GMT</pubDate></item><item><title><![CDATA[Reply to char * als Parameter on Wed, 17 Jun 2009 13:50:54 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>Ja, weiß sie</p>
</blockquote>
<p>Soll das eine Antwort auf eine meiner Fragen sein? Wenn ja, auf welche?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728233</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 17 Jun 2009 13:50:54 GMT</pubDate></item><item><title><![CDATA[Reply to char * als Parameter on Wed, 17 Jun 2009 13:53:40 GMT]]></title><description><![CDATA[<p>inflames2k schrieb:</p>
<blockquote>
<p>Tachyon schrieb:</p>
<blockquote>
<p>Ändert die Funktion an den Daten was? Wenn ja, woher weiss die Funktion, wie lang das übergebene Feld ist?</p>
</blockquote>
<p>Daher dass der char-Zeiger eine Länge hat? Bzw. irgendwann ja auf Null zeigt.</p>
</blockquote>
<p>Die länge des char-Zeigers hilft einem nochmal genau wie weiter, wenn sich dahinter ein Buffer verbirgt?<br />
Das es sich um 0-terminierte Daten handelt wurde nochmal genau wo gesagt?<br />
Es würde auch helfen zu wissen, was foo genau tut. Kann es die Daten verändern, oder liest es nur? Wenn die Daten verändert werden, kann sich dabei auch die Länge des Puffers ändern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728234</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 17 Jun 2009 13:53:40 GMT</pubDate></item><item><title><![CDATA[Reply to char * als Parameter on Wed, 17 Jun 2009 14:10:57 GMT]]></title><description><![CDATA[<p>Ist ein Socket reader, vorher ist mir die Länge bekommt, ich kann also mit new einen buffer manuell reservieren, aber geht es auch ohne manuelle Speicher reservierung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728248</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 17 Jun 2009 14:10:57 GMT</pubDate></item><item><title><![CDATA[Reply to char * als Parameter on Wed, 17 Jun 2009 14:12:54 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>Ist ein Socket reader, vorher ist mir die Länge bekommt, ich kann also mit new einen buffer manuell reservieren, aber geht es auch ohne manuelle Speicher reservierung?</p>
</blockquote>
<p>So z.B.:</p>
<pre><code class="language-cpp">std::vector&lt;char&gt; buffer;
//...
buffer.resize(getSizeFromSomewhere());
//...
foo(&amp;buffer[0]);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1728251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728251</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 17 Jun 2009 14:12:54 GMT</pubDate></item></channel></rss>