<?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[Brauche Erklärung für Funktionsaufruf mit einem char array]]></title><description><![CDATA[<p>Hallo!</p>
<p>In der Header Datei wird <em>char</em> m_buf;* deklariert. Im Konstruktor wird <em>m_buf</em> zu NULL gesetzt und später wird <em>m_buf = new char [dlen]</em> aufgerufen. Ich sollte also ein char array der Länge <em>dlen</em> haben. Später wird die Funktion <em>receive(char</em> buf, int a, int b)* mit <em>receive(m_buf+recbytes, rec, 5000)</em> aufgerufen. <em>recbytes</em> ist ein integer. Und ich habe keine Ahnung was mir das &quot;m_buf+recbytes&quot; sagen soll. Vielleicht kann mir ja jemand von euch helfen.</p>
<p>Thx<br />
Blackfyre</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/209023/brauche-erklärung-für-funktionsaufruf-mit-einem-char-array</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 06:39:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/209023.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 Mar 2008 20:23:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Brauche Erklärung für Funktionsaufruf mit einem char array on Tue, 25 Mar 2008 20:23:20 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>In der Header Datei wird <em>char</em> m_buf;* deklariert. Im Konstruktor wird <em>m_buf</em> zu NULL gesetzt und später wird <em>m_buf = new char [dlen]</em> aufgerufen. Ich sollte also ein char array der Länge <em>dlen</em> haben. Später wird die Funktion <em>receive(char</em> buf, int a, int b)* mit <em>receive(m_buf+recbytes, rec, 5000)</em> aufgerufen. <em>recbytes</em> ist ein integer. Und ich habe keine Ahnung was mir das &quot;m_buf+recbytes&quot; sagen soll. Vielleicht kann mir ja jemand von euch helfen.</p>
<p>Thx<br />
Blackfyre</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480294</guid><dc:creator><![CDATA[Blackfyre]]></dc:creator><pubDate>Tue, 25 Mar 2008 20:23:20 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Erklärung für Funktionsaufruf mit einem char array on Tue, 25 Mar 2008 20:45:23 GMT]]></title><description><![CDATA[<p>Hmmm was das in dem Zusammenhang soll,<br />
keine Ahnung. Allgemein kann man eben indem<br />
man auf einen Zeiger einen Integer addiert die<br />
Adresse auf die der Zeiger zeigt eben ändern.<br />
Zum Beispiel wir haben die Adresse:</p>
<pre><code>0x561AFC31
</code></pre>
<p>Wenn man jetzt zum Beispiel da 8 addiert hat man eben<br />
nachher</p>
<pre><code>0x561AFC39
</code></pre>
<p>Also bei einem Array kannste zum Beispiel ja</p>
<pre><code class="language-cpp">char* array;
array = new char[500];
array = 'a'; // 'a' im ersten Platz des Arrays
array += 4; // array zeigt jetzt auf das zweite Element
array-4 = 'b'; // würde jetzt das 'a' von vorher überschreiben
</code></pre>
<p>So ungefähr sollte das sein <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>Vlt kannste ja damit was anfangen,</p>
<p>Gruß,</p>
<p>Max</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480314</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Tue, 25 Mar 2008 20:45:23 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Erklärung für Funktionsaufruf mit einem char array on Tue, 25 Mar 2008 21:08:44 GMT]]></title><description><![CDATA[<p>Ah, nach der Erklärung würde es heißen, dass <em>receive(...)</em> die Addresse im Array bekommt, an der es anfangen soll das Array zu beschreiben. Das macht Sinn. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480333</guid><dc:creator><![CDATA[Blackfyre]]></dc:creator><pubDate>Tue, 25 Mar 2008 21:08:44 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Erklärung für Funktionsaufruf mit einem char array on Tue, 25 Mar 2008 21:16:25 GMT]]></title><description><![CDATA[<p>der Ausdruck m_buf + recbytes liefert einen Zeiger, der auf das (recbytes+1)'te Element des char-Arrays zeigt. kleines Beispiel:</p>
<pre><code class="language-cpp">char* m_buf = new char[100](0);
std::strncpy(m_buf, &quot;Hallo Welt!&quot;, 11);
//in dem Array, auf das m_buf zeigt steht jetzt &quot;Hallo Welt!\0\0\0\0&quot; usw.
int recbytes = 3;
receive(m_buf+recbytes, 50,100); //receive bekommt jetzt einen Pointer auf &quot;lo Welt!\0\0\0
</code></pre>
<p>m_buf+recbytes ist das selbe wie &amp;m_buf[recbytes]<br />
sind die ersten &quot;recbytes&quot; chars in dem C-String für einen anderen Zweck vorgesehn und für receive nicht wichtig.</p>
<p>blub² schrieb:</p>
<blockquote>
<pre><code class="language-cpp">array += 4; // array zeigt jetzt auf das zweite Element
</code></pre>
</blockquote>
<p>Ist natürlich Humbug, vermutlich ein Tippfehler. Array zeigt auf das fünfte Element.</p>
<p>Ich frag mich allerdings, was das für eine Klasse ist, die so schamlos mit Olscool C-Style Arrays und Pointeroffsets rumfrickelt. Das sieht son bisschen nach einer billigen Kaschierung einer C-API oder so etwas aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480336</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 25 Mar 2008 21:16:25 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Erklärung für Funktionsaufruf mit einem char array on Tue, 25 Mar 2008 21:35:47 GMT]]></title><description><![CDATA[<p>Ja, war ein Tipp-Fehler meinerseits.</p>
<p>Was ist das denn für eine receive Funktion?<br />
Receive würde ich jetz mal spontan winsock sagen?<br />
Wenn das echt n WinSock Wrapper ist dann ein ziemlich<br />
alter *g*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480341</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Tue, 25 Mar 2008 21:35:47 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Erklärung für Funktionsaufruf mit einem char array on Tue, 25 Mar 2008 21:58:32 GMT]]></title><description><![CDATA[<p>Jupp, receive ist dazu da Daten von einem socket zu empfangen. Das Programm ist meines Wissens nach etwa fünf Jahre alt und besitzt keinerlei Dokumentation. Ist natürlich besonders lustig wenn der Server nur Antwortet wenn er die richtige &quot;Frage&quot; gestellt bekommt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> Naja, Dokus machen das Leben ja langweilig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480352</guid><dc:creator><![CDATA[Blackfyre]]></dc:creator><pubDate>Tue, 25 Mar 2008 21:58:32 GMT</pubDate></item></channel></rss>