<?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[Return Frage]]></title><description><![CDATA[<p>// main<br />
...<br />
char buffer[6000];<br />
...<br />
...<br />
buffer = check_errors(..,..,..,);</p>
<p>In der Header Datei in der check_errors deklariert ist<br />
...<br />
...<br />
char buffer[6000];<br />
recv ( socket, buffer, 5999, 0);<br />
return buffer;</p>
<p>g++ meckert mit:</p>
<blockquote>
<p>In file included from main.cpp:8:<br />
headers/test.h: In function »bool xss_test(int, std::string, std::string, std::string)«:<br />
headers/test.h:30: Fehler: unverträgliche Typen in Zuweisung von »std::string« an »char [6000]«</p>
</blockquote>
<p>Sind doch beide char array Variablen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/224592/return-frage</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 10:33:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/224592.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Oct 2008 09:58:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Return Frage on Sun, 12 Oct 2008 09:58:29 GMT]]></title><description><![CDATA[<p>// main<br />
...<br />
char buffer[6000];<br />
...<br />
...<br />
buffer = check_errors(..,..,..,);</p>
<p>In der Header Datei in der check_errors deklariert ist<br />
...<br />
...<br />
char buffer[6000];<br />
recv ( socket, buffer, 5999, 0);<br />
return buffer;</p>
<p>g++ meckert mit:</p>
<blockquote>
<p>In file included from main.cpp:8:<br />
headers/test.h: In function »bool xss_test(int, std::string, std::string, std::string)«:<br />
headers/test.h:30: Fehler: unverträgliche Typen in Zuweisung von »std::string« an »char [6000]«</p>
</blockquote>
<p>Sind doch beide char array Variablen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1597723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597723</guid><dc:creator><![CDATA[returnfrage]]></dc:creator><pubDate>Sun, 12 Oct 2008 09:58:29 GMT</pubDate></item><item><title><![CDATA[Reply to Return Frage on Sun, 12 Oct 2008 10:03:48 GMT]]></title><description><![CDATA[<p>Interessant ist nicht die Implementierung von check_errors, sondern die Deklaration. Was hat die Impl. überhaupt in dem Header zu suchen?</p>
<p>Was mir noch aufgefallen ist, wieso ist dein Buffer 6000 Zeichen groß, du schreibst aber nur 5999 rein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1597725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597725</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sun, 12 Oct 2008 10:03:48 GMT</pubDate></item><item><title><![CDATA[Reply to Return Frage on Sun, 12 Oct 2008 10:11:36 GMT]]></title><description><![CDATA[<p>Wie müsste ich die Funktion denn richtig deklarieren?</p>
<p>string check_errors(....)<br />
So wäre das jetzt definiert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1597728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597728</guid><dc:creator><![CDATA[returnfrage]]></dc:creator><pubDate>Sun, 12 Oct 2008 10:11:36 GMT</pubDate></item><item><title><![CDATA[Reply to Return Frage on Sun, 12 Oct 2008 10:49:57 GMT]]></title><description><![CDATA[<p>Da hast du doch deinen String. Du könntest jetzt string s = check_errors(...) beim Aufruf schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1597740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597740</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sun, 12 Oct 2008 10:49:57 GMT</pubDate></item><item><title><![CDATA[Reply to Return Frage on Sun, 12 Oct 2008 10:51:21 GMT]]></title><description><![CDATA[<p>Ja ich weiß.<br />
Aber es muss ein char buffer[] sein, denn er wird später in dieser Form weiterverwendet....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1597741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597741</guid><dc:creator><![CDATA[returnfrage]]></dc:creator><pubDate>Sun, 12 Oct 2008 10:51:21 GMT</pubDate></item><item><title><![CDATA[Reply to Return Frage on Sun, 12 Oct 2008 10:57:49 GMT]]></title><description><![CDATA[<p>Wieso schleust du das ganze dann in einem String durch die Gegend?</p>
<p>Die übliche Vorgehensweise wäre so ungefähr:</p>
<pre><code class="language-cpp">char buffer[6000];
check_errors(buffer, ...);
...
void check_errors(char buffer[], ...) {
  recv ( socket, buffer, 6000, 0);
}
</code></pre>
<p>Da sind noch viele Fragen ungeklärt, nur mal als Beispiel</p>
<ul>
<li>sollte der Rückgabewert von check_errors einen Fehlercode beinhalten? Was passiert, wenn recv fehlschlägt?</li>
<li>wieso heißt die Funktion check_errors, mach aber was ganz anderes?</li>
<li>Wieso gerade 6000? Was passiert z.B., wenn die empfangene Nachricht länger ist?</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/1597746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597746</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sun, 12 Oct 2008 10:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to Return Frage on Sun, 12 Oct 2008 15:10:58 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-1819.html" rel="nofollow">rüdiger</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-5.html" rel="nofollow">Linux/Unix</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1597823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597823</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Sun, 12 Oct 2008 15:10:58 GMT</pubDate></item><item><title><![CDATA[Reply to Return Frage on Sun, 12 Oct 2008 15:33:06 GMT]]></title><description><![CDATA[<p>returnfrage schrieb:</p>
<blockquote>
<p>g++ meckert mit:</p>
<blockquote>
<p>In file included from main.cpp:8:<br />
headers/test.h: In function »bool xss_test(int, std::string, std::string, std::string)«:<br />
headers/test.h:30: Fehler: unverträgliche Typen in Zuweisung von »std::string« an »char [6000]«</p>
</blockquote>
<p>Sind doch beide char array Variablen?</p>
</blockquote>
<p>Ehm, nein! <code>std::string</code> ist eine Klasse und kann man nicht einfach so in ein char-Array konvertieren.<br />
<code>std::string</code> Referenz: <a href="http://www.cplusplus.com/reference/string/" rel="nofollow">http://www.cplusplus.com/reference/string/</a></p>
<p>Es gibt möglichkeiten an das Array von <code>std::string</code> ranzukommen, mit einer einfachen Zuweisung wirst du aber keine Kopie erreichen können. Da wirst du schon eher etwas mit <code>std::copy</code> machen müssen. Z.B:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;algorithm&gt;

// ...

std::string myString; // der String mit den Daten gefüllt.
char buffer[6000]; // Ziel buffer

if(myString.length() &lt;= 6000)
{ std::copy(myString.begin(), myString.end(), &amp;buffer[0]); }
else
{
  // Fehler!
}
</code></pre>
<p>Man fragt sich aber schon ein wenig, ob das sinnvoll ist und die Fragen von Bashar würde ich auch im Raum noch stehen lassen. Zudem wäre es eine Überlegung wert, ob du nicht lieber ein <code>std::vector</code> anstatt <code>std::string</code> nehmen solltest und ein <code>std::tr1::array</code> statt des <code>char buffer[6000]</code> .</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1597830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597830</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 12 Oct 2008 15:33:06 GMT</pubDate></item></channel></rss>