<?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[&amp;lt;string&amp;gt;... falsche Anwendung?]]></title><description><![CDATA[<pre><code>string str;
vector&lt;string&gt; str_names
for(int i=0;i&lt;3;++i)
	{
	      str=&quot;TestSignal_&quot;;		
	      str_names.push_back(str+(char)i);
              cout&lt;&lt;&quot;str_names[&quot;&lt;&lt;i&lt;&lt;&quot;]=&quot;&lt;&lt;str_names[i]&lt;&lt;endl;
	}
</code></pre>
<p>ich erwarte, dass mein vector die Strings:&quot;TestSignal_0&quot;, &quot;TestSignal_1&quot;, &quot;TestSignal_2&quot; enthält, aber es ist nicht so...<br />
Warum????? wie mache ich es richtig?<br />
DAnke<br />
Carmen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/140629/lt-string-gt-falsche-anwendung</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 06:57:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/140629.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Mar 2006 09:58:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;lt;string&amp;gt;... falsche Anwendung? on Thu, 16 Mar 2006 09:58:06 GMT]]></title><description><![CDATA[<pre><code>string str;
vector&lt;string&gt; str_names
for(int i=0;i&lt;3;++i)
	{
	      str=&quot;TestSignal_&quot;;		
	      str_names.push_back(str+(char)i);
              cout&lt;&lt;&quot;str_names[&quot;&lt;&lt;i&lt;&lt;&quot;]=&quot;&lt;&lt;str_names[i]&lt;&lt;endl;
	}
</code></pre>
<p>ich erwarte, dass mein vector die Strings:&quot;TestSignal_0&quot;, &quot;TestSignal_1&quot;, &quot;TestSignal_2&quot; enthält, aber es ist nicht so...<br />
Warum????? wie mache ich es richtig?<br />
DAnke<br />
Carmen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017364</guid><dc:creator><![CDATA[carmen]]></dc:creator><pubDate>Thu, 16 Mar 2006 09:58:06 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;lt;string&amp;gt;... falsche Anwendung? on Thu, 16 Mar 2006 10:04:17 GMT]]></title><description><![CDATA[<p>Weil du mit (char)i das Zeichen mit dem ASCII-Code i bekommst (0 ist die Stringende-Marke, 1 und 2 sind nicht darstellbare Steuerzeichen) und nicht die Ziffer 'i'. Schau am besten mal in die FAQ, wie man Zahlen in Strings umwandeln kann.</p>
<p>OK, in deinem einfachen Fall (solange es einstellig bleibt), reicht schon eine einfache Umrechnung:</p>
<pre><code class="language-cpp">str_names.push_back(str+(i+'0'));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1017368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017368</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 16 Mar 2006 10:04:17 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;lt;string&amp;gt;... falsche Anwendung? on Thu, 16 Mar 2006 10:06:46 GMT]]></title><description><![CDATA[<p>Was kommt denn bei dir raus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017371</guid><dc:creator><![CDATA[bumbytie]]></dc:creator><pubDate>Thu, 16 Mar 2006 10:06:46 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;lt;string&amp;gt;... falsche Anwendung? on Thu, 16 Mar 2006 10:09:43 GMT]]></title><description><![CDATA[<p>Du wandelst eine Zahl in ein ASCII-Zeichen um (char ist genau 1 Zeichen) und hängst das an den String an, und da ASCII 0 bis 3 nicht druckbare Zeichen sind, siehst du nichts.</p>
<p>Für &quot;Einmal Zahl und zurück&quot; (siehe auch FAQ) nimmt man stringstreams:</p>
<pre><code class="language-cpp">vector&lt;string&gt; str_names;
for(int i=0;i&lt;3;++i)
    {
          stringstream str;
          str&lt;&lt;&quot;TestSignal_&quot;;       
          str&lt;&lt;i;
          str_names.push_back(str.str());
          cout&lt;&lt;&quot;str_names[&quot;&lt;&lt;i&lt;&lt;&quot;]=&quot;&lt;&lt;str_names[i]&lt;&lt;endl;
    }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1017375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017375</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 16 Mar 2006 10:09:43 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;lt;string&amp;gt;... falsche Anwendung? on Thu, 16 Mar 2006 12:48:51 GMT]]></title><description><![CDATA[<pre><code>stringstream str;
vector&lt;string&gt; str_names;
	str&lt;&lt;&quot;TestSignal_&quot;;
	for(int i=0;i&lt;3;++i)
	{
		str&lt;&lt;i;
		str_name.push_back(str.str());		
		cout&lt;&lt;&quot;str_name[i]=&quot;&lt;&lt;str_name[i]&lt;&lt;endl;
         }
</code></pre>
<p>aber es wird Testsignal_1, TestSignal_01, TestSignal_012 ausgegeben...</p>
<p>Ich habe versucht mit str.putback(i) aber es klappt nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017480</guid><dc:creator><![CDATA[carmen]]></dc:creator><pubDate>Thu, 16 Mar 2006 12:48:51 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;lt;string&amp;gt;... falsche Anwendung? on Thu, 16 Mar 2006 12:53:13 GMT]]></title><description><![CDATA[<p>pushback( ) uebergibt eine Referenz , der Inhalt bleibt gleich , da dieselbe Variable benutzt wird. es wird nur das einzelne Zeichen (char)i angehaengt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017489</guid><dc:creator><![CDATA[bumbytie]]></dc:creator><pubDate>Thu, 16 Mar 2006 12:53:13 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;lt;string&amp;gt;... falsche Anwendung? on Thu, 16 Mar 2006 12:58:42 GMT]]></title><description><![CDATA[<p>qcarmen: Vergleich mal deine Schleifenstruktur mit der von LordJaxom. Erkennst du die Unterschiede?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017496</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 16 Mar 2006 12:58:42 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;lt;string&amp;gt;... falsche Anwendung? on Thu, 16 Mar 2006 13:39:30 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/11263">@bumbytie</a>: Du hast nicht recht.das ist nicht der Grund der falscher Ausgabe</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>: Ich habe die Ironie in deiner Frage gespürt ...aber ich werde weiter die blödesten Fragen stellen, da diese Forum sehr gut ist und bringt mich wirklich weiter. Du kannst C++ sehr gut und ich lerne gerade, aber dafür kann ich andere Dinge ganz gut.<a href="http://www.c-plusplus.net/forum/images/smiles/wink.gif" rel="nofollow">http://www.c-plusplus.net/forum/images/smiles/wink.gif</a><br />
<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="😉"
    /><br />
Ich wollte nicht jedes Mal <strong>stringstream</strong> neu definieren innerhalb der for- Schleife. Ich dachte es klappt mit str.clear() oder str. flush() oder str. putback()...darum habe ich die außerhalb der Schleife definiert(aber es hat nicht funktioniert...) So wie LordJaxom ... läuft ganz gut, aber ist es effektiv?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017533</guid><dc:creator><![CDATA[carmen]]></dc:creator><pubDate>Thu, 16 Mar 2006 13:39:30 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;lt;string&amp;gt;... falsche Anwendung? on Thu, 16 Mar 2006 13:50:50 GMT]]></title><description><![CDATA[<p>Auf jeden Fall mußt du irgendwie am Anfang jedes Schleifendurchlaufs die alte Nummer wieder aus dem Stream rausschmeißen, sonst wird das nichts. Und wenn du keine Lust hast, den Stream jedes Mal neu anzulegen - du kannst ihm per str() auch einen neuen Puffer zuweisen:</p>
<pre><code class="language-cpp">stringstream conv;
for(int i=0;i&lt;3;++i)
{
  conv.str(&quot;Testsignal_&quot;);
  conv&lt;&lt;i;
  str_name.push_back(conv.str());
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1017539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017539</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 16 Mar 2006 13:50:50 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;lt;string&amp;gt;... falsche Anwendung? on Thu, 16 Mar 2006 13:58:18 GMT]]></title><description><![CDATA[<p>vielleicht ist das nicht der einzige , aber es spielt definitiv eine Rolle. Aber der Post von CStoll bestaetigt das , und der funktionierende code von LordJaxom beruecksichtigt das auch. Deinen letzten code-ausschnitt habe ich geringfuegig umgebastelt ( i.B. stream-deklaration in den scope der for-schleife ) , und siehe da: es klappt.</p>
<p>std::vector<a href="std::string" rel="nofollow">std::string</a> str_names;</p>
<p>for(int i=0;i&lt;3;++i)<br />
{<br />
std::strstream str;<br />
str&lt;&lt;&quot;TestSignal_&quot;;</p>
<p>str&lt;&lt;i&lt;&lt;'\0';<br />
str_names.push_back(str.str());<br />
std::cout&lt;&lt;&quot;str_name[i]=&quot;&lt;&lt;str_names[i]&lt;&lt;std::endl;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017549</guid><dc:creator><![CDATA[bumbytie]]></dc:creator><pubDate>Thu, 16 Mar 2006 13:58:18 GMT</pubDate></item></channel></rss>