<?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[mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken!]]></title><description><![CDATA[<p>Hallo.<br />
Ich habe ein Problem:</p>
<p>Ich habe 4 strings und möchte die zu einem großen zusammenfassen.</p>
<p>Ich möchte aus den 4 strings eine ip zusammensetzen und das als ping befehl absenden...</p>
<p>Also brauche ich am ende einen string der folgendermaßen aussieht:</p>
<p>ping <em>var1</em>.<em>var2</em>.<em>var3</em>.<em>var4</em></p>
<p>Ich weiss leider nicht wie ich das mit c++ bewerkstelligen soll...</p>
<p>Unter php würde das ganze so aussehen aber unter c++ funzt das leider nicht:</p>
<p>$string = &quot;ping &quot; . $var1 . &quot;.&quot; . $var2 . &quot;.&quot; . $var3 . &quot;.&quot; . $var4 . &quot;&quot;;</p>
<p>Bitte helft mir.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/135377/mehrere-strings-zu-einem-zusammenfügen-hilfe-ich-kriegs-nicht-gebacken</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 00:09:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/135377.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Feb 2006 16:41:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 16:41:15 GMT]]></title><description><![CDATA[<p>Hallo.<br />
Ich habe ein Problem:</p>
<p>Ich habe 4 strings und möchte die zu einem großen zusammenfassen.</p>
<p>Ich möchte aus den 4 strings eine ip zusammensetzen und das als ping befehl absenden...</p>
<p>Also brauche ich am ende einen string der folgendermaßen aussieht:</p>
<p>ping <em>var1</em>.<em>var2</em>.<em>var3</em>.<em>var4</em></p>
<p>Ich weiss leider nicht wie ich das mit c++ bewerkstelligen soll...</p>
<p>Unter php würde das ganze so aussehen aber unter c++ funzt das leider nicht:</p>
<p>$string = &quot;ping &quot; . $var1 . &quot;.&quot; . $var2 . &quot;.&quot; . $var3 . &quot;.&quot; . $var4 . &quot;&quot;;</p>
<p>Bitte helft mir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983265</guid><dc:creator><![CDATA[bifi5590]]></dc:creator><pubDate>Wed, 01 Feb 2006 16:41:15 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 16:42:52 GMT]]></title><description><![CDATA[<p>Wenn du std::string verwendest ist der +-Operator überladen:</p>
<pre><code class="language-cpp">std::string s = std::string(&quot;bla&quot;) + &quot;bla&quot; + &quot;asdf&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/983269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983269</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Wed, 01 Feb 2006 16:42:52 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 16:43:16 GMT]]></title><description><![CDATA[<p>std::string huch = string1 + string2 + string3;</p>
<p>so sollte es hinhauen...</p>
<p>gruesse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983272</guid><dc:creator><![CDATA[TDO]]></dc:creator><pubDate>Wed, 01 Feb 2006 16:43:16 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 17:20:09 GMT]]></title><description><![CDATA[<p>also danke erstmal für die schnellen antworten.</p>
<p>also wenn ich es mit + mache dann gibt der compiler (MS Visual C++ 6) diese meldung aus:</p>
<p>error C2677: Binaerer Operator '+' : Kein globaler Operator definiert, der den Typ 'class std::basic_ostringstream&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator<br />
&lt;char&gt; &gt;' akzeptiert (oder keine geeignete Konvertierung moeglich)</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;

string ping;

//hier kommen die anderen variablen..

int main() {

//....

ping = &quot;ping &quot; + seg1 + &quot;.&quot; + seg2 + &quot;.&quot; + seg3 + &quot;.&quot; + seg4 + &quot;&quot;;

//....
return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/983308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983308</guid><dc:creator><![CDATA[bifi5590]]></dc:creator><pubDate>Wed, 01 Feb 2006 17:20:09 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 17:27:48 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>schau dir nochmal den Post von .filmor an</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983313</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 01 Feb 2006 17:27:48 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 17:28:09 GMT]]></title><description><![CDATA[<p>Wie schon gesagt, das erste muss in einen std::string-Konstruktor gepackt werden. Übrigens lässt sich das mit Stringstreams (die du ja scheinbar verwendest) auch lösen:</p>
<pre><code class="language-cpp">#include &lt;sstream&gt;
// ...

std::stringstream s;

str &lt;&lt; &quot;ping &quot; &lt;&lt; seg1 &lt;&lt; '.' &lt;&lt; seg2 &lt;&lt; '.' &lt;&lt; seg3 &lt;&lt; '.' &lt;&lt; seg4;

s.str (); // == ping 123.213.123.123
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/983314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983314</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Wed, 01 Feb 2006 17:28:09 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 17:30:08 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>EDIT:<br />
bin ich lahm...</p>
<p>Im Übrigen gibt es die <a href="http://msdn.microsoft.com/vstudio/express/visualc/download/" rel="nofollow">VC++ 2005 Express Edition</a> gratis zum Runterladen. Um Einiges besser (v.a. aktueller) als der VC6. Probier ihn doch mal aus. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983315</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Wed, 01 Feb 2006 17:30:08 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 19:11:59 GMT]]></title><description><![CDATA[<p>ok danke habs hinbekommen</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/6287">@GPC</a>: ich werds bei gelegenheit mal installieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983426</guid><dc:creator><![CDATA[bifi5590]]></dc:creator><pubDate>Wed, 01 Feb 2006 19:11:59 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 19:48:09 GMT]]></title><description><![CDATA[<p>ach so...</p>
<p>ich habe jetzt die variante von .filmor verwendet.</p>
<p>Jetzt habe ich dazu eine frage:<br />
wenn ich das in einer schleife ausführen lasse, dann wird immer mehr drangehängt.</p>
<p>Kann ich das irgendwie löschen lassen?</p>
<p>s = &quot;&quot; funktioniert zwar in php aber hier nicht.<br />
Die funktion flush() die soweit ich weiss dafür gemacht ist variablen zu leeren funktioniert auch nicht (wenn das nicht richtig ist dann korrigiert mich bitte) .</p>
<p>wie kann ich das bewerkstelligen das die variable gelöscht/geleert wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983472</guid><dc:creator><![CDATA[bifi5590]]></dc:creator><pubDate>Wed, 01 Feb 2006 19:48:09 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 20:23:46 GMT]]></title><description><![CDATA[<p>bifi5590 schrieb:</p>
<blockquote>
<p>wie kann ich das bewerkstelligen das die variable gelöscht/geleert wird?</p>
</blockquote>
<p>Du meinst wahrscheinlich die std::stringstream Lösung. Den stream-Inhalt kannst du hier ebenfalls über die Methode <a href="http://www.cplusplus.com/ref/iostream/ostringstream/str.html" rel="nofollow">str()</a> setzen.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">int main()
{
    ostringstream iss;
    iss &lt;&lt; &quot;Hallo &quot; &lt;&lt; &quot;Welt&quot; &lt;&lt; '!';

    cout &lt;&lt; iss.str() &lt;&lt; endl;
    iss.str(&quot;&quot;); // leert den Stream.
    cout &lt;&lt; iss.str() &lt;&lt; endl;

    return 0;
}
</code></pre>
<p>Gruß Caipi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983498</guid><dc:creator><![CDATA[Caipi]]></dc:creator><pubDate>Wed, 01 Feb 2006 20:23:46 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 20:41:02 GMT]]></title><description><![CDATA[<p>Um es nochmal zusammenzufassen: Es gibt <em>std::string</em> und <em>std::ostringstream</em>. <em>std::strings</em> kann ich wohl mit <em>s = &quot;&quot;</em> leeren, wobei <em>s.clear()</em> effizienter ist. Habe ich ein <em>std::ostringstream</em>, leere ich den mit <em>s.str(std::string())</em>. <em>s.str(&quot;&quot;)</em> geht auch, braucht aber möglicherweise mehrere Taktzyklen länger.</p>
<p>Wenn es wirklich auf Performance ankommt, sollte man auch Konstrukte wie:<br />
<em>s = s1 + s2 + s3</em> vermeiden. Effizienter wäre:</p>
<pre><code class="language-cpp">s.clear();
s += s1
  += s2
  += s3;
</code></pre>
<p>Das vermeidet ein paar unnötige Allokationen. Aber in der Regel kann man die paar Taktzyklen verschmerzen zugunsten besserer Lesbarkeit des Codes.</p>
<p>Tommi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983515</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Wed, 01 Feb 2006 20:41:02 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 20:44:14 GMT]]></title><description><![CDATA[<p>Wird alles wegoptimiert...</p>
<p>Wirklich lohnenswert wäre:</p>
<pre><code class="language-cpp">string erg;
erg.reserve(s1.size() + s2.size() + s3.size());
erg = s1 + s2 + s3;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/983518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983518</guid><dc:creator><![CDATA[Optimierer]]></dc:creator><pubDate>Wed, 01 Feb 2006 20:44:14 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Wed, 01 Feb 2006 21:49:41 GMT]]></title><description><![CDATA[<p>Nein.</p>
<p>Deine Version mit reserve bringt nichts. Im Gegenteil. Es erzeugt eine unnötige Allokation.</p>
<pre><code class="language-cpp">erg = s1 + s2 + s3;
</code></pre>
<p>Bedeutet:<br />
operator+ für s1 und s2 (temporärer String)<br />
operator+ für den temporären String und s3<br />
operator=: verwerfe erg (also das, was mit reserve allokiert wurde) und ersetze das durch das Ergebnis des vorigen Ausdrucks.</p>
<p>Ich habe es übrigens ausprobiert: Es ist sehr schwer, überhaupt Unterschiede zu messen. Ohne Optimierungsflags ist die Version mit reserve der klare Verlierer. Mit -O2 kann man das eher als Meßungenauigkeit abtun. Der klare Gewinner war eine Kombination aus unseren Varianten:</p>
<pre><code class="language-cpp">std::string erg;
  erg.reserve(s1.size() + s2.size() + s3.size());
  erg += s1;
  erg += s2;
  erg += s3;
</code></pre>
<p>Hier wird auch der Platz, der mit reserve allokiert wurde wirklich genutzt.</p>
<p>Tommi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983569</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Wed, 01 Feb 2006 21:49:41 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere strings zu einem zusammenfügen? HILFE ich kriegs nicht gebacken! on Thu, 02 Feb 2006 10:51:30 GMT]]></title><description><![CDATA[<p>Danke an alle.</p>
<p>ich habe jetzt die methode mit .str(&quot;&quot;) benutzt.</p>
<p>auf jeden fall funnktioniert es jetzt! Nochmal danke an alle</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983797</guid><dc:creator><![CDATA[bifi5590]]></dc:creator><pubDate>Thu, 02 Feb 2006 10:51:30 GMT</pubDate></item></channel></rss>