<?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[Kurze Frage zu string in Schleife]]></title><description><![CDATA[<p>Sehe ich das hier richtig das irgendwann auf ein Element zu viel zugegriffen wird?<br />
Ich meine der string ist 8 Zeichen lang irgendwann wird gefragt:</p>
<pre><code class="language-cpp">if(Data[i]=='3'&amp;&amp;Data[i+1]=='0')
</code></pre>
<p>Data[i+1] &lt;-- Darum geht es, da greife ich doch im Prinzip auf einen Wert zu der nicht mehr der Variable Data gehört oder?</p>
<pre><code class="language-cpp">string Data = &quot;30ABC30C&quot;;
		 for(unsigned i=0; i&lt;Data.length();i++)
		 {
			if(Data[i]=='3'&amp;&amp;Data[i+1]=='0')
			{
				Data[i]='0';
				Data[i+1]='0';
			}
		 }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/305607/kurze-frage-zu-string-in-schleife</link><generator>RSS for Node</generator><lastBuildDate>Sat, 08 Aug 2026 19:59:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/305607.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Jul 2012 10:25:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kurze Frage zu string in Schleife on Tue, 03 Jul 2012 10:25:50 GMT]]></title><description><![CDATA[<p>Sehe ich das hier richtig das irgendwann auf ein Element zu viel zugegriffen wird?<br />
Ich meine der string ist 8 Zeichen lang irgendwann wird gefragt:</p>
<pre><code class="language-cpp">if(Data[i]=='3'&amp;&amp;Data[i+1]=='0')
</code></pre>
<p>Data[i+1] &lt;-- Darum geht es, da greife ich doch im Prinzip auf einen Wert zu der nicht mehr der Variable Data gehört oder?</p>
<pre><code class="language-cpp">string Data = &quot;30ABC30C&quot;;
		 for(unsigned i=0; i&lt;Data.length();i++)
		 {
			if(Data[i]=='3'&amp;&amp;Data[i+1]=='0')
			{
				Data[i]='0';
				Data[i+1]='0';
			}
		 }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2229598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229598</guid><dc:creator><![CDATA[wstr]]></dc:creator><pubDate>Tue, 03 Jul 2012 10:25:50 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage zu string in Schleife on Tue, 03 Jul 2012 10:32:27 GMT]]></title><description><![CDATA[<p>Ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229601</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Tue, 03 Jul 2012 10:32:27 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage zu string in Schleife on Tue, 03 Jul 2012 10:41:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">for(unsigned i=0; i&lt;Data.length();i++) 
         { 
            if(Data[i]=='3'&amp;&amp;Data[i+1]=='0') 
            { 
                Data[i]='0'; 
                Data[i+1]='0'; 
            } 
         }
</code></pre>
<p>Wer iteriert denn so durch einen String? ts, ts...<br />
Egal.Du musst die Bedingung ändern, zu</p>
<pre><code class="language-cpp">i + 1 &lt; Data.length()
</code></pre>
<p>Dann dürfte es funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229604</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 03 Jul 2012 10:41:21 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage zu string in Schleife on Tue, 03 Jul 2012 10:54:47 GMT]]></title><description><![CDATA[<p>Und das hier:</p>
<pre><code class="language-cpp">Data[i+1]='0';
</code></pre>
<p>ist überflüssig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229608</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Tue, 03 Jul 2012 10:54:47 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage zu string in Schleife on Tue, 03 Jul 2012 10:55:39 GMT]]></title><description><![CDATA[<p>Gute Güte. Wie wäre es einfach mit find?<br />
<a href="http://www.cplusplus.com/reference/string/string/find/" rel="nofollow">http://www.cplusplus.com/reference/string/string/find/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229609</guid><dc:creator><![CDATA[nman]]></dc:creator><pubDate>Tue, 03 Jul 2012 10:55:39 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage zu string in Schleife on Tue, 03 Jul 2012 10:56:36 GMT]]></title><description><![CDATA[<p>wstr schrieb:</p>
<blockquote>
<pre><code class="language-cpp">string Data = &quot;30ABC30C&quot;;
		 for(unsigned i=0; i&lt;Data.length();i++)
		 {
			if(Data[i]=='3'&amp;&amp;Data[i+1]=='0')
			{
				Data[i]='0';
				Data[i+1]='0';
			}
		 }
</code></pre>
</blockquote>
<p>Besser:</p>
<pre><code class="language-cpp">string Data = &quot;30ABC30C&quot;;
    for( string::size_type i = 0; (i = Data.find(&quot;30&quot;, i)) != string::npos; ++i )
        Data.replace( i, 2, &quot;00&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2229610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229610</guid><dc:creator><![CDATA[pro-C++-Standard]]></dc:creator><pubDate>Tue, 03 Jul 2012 10:56:36 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage zu string in Schleife on Tue, 03 Jul 2012 12:07:30 GMT]]></title><description><![CDATA[<p>Ha, jetzt v´wo ich überhaupt verstanden habe was er will... (!!)</p>
<pre><code class="language-cpp">std::string str(&quot;30a651we30&quot;);
        size_t pos;
        while((pos = str.find(&quot;30&quot;)) != std::string::npos)
                str[pos] = '0';
</code></pre>
<p>Edit: thx an Sepp.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229614</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 03 Jul 2012 12:07:30 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage zu string in Schleife on Tue, 03 Jul 2012 11:43:29 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Wer iteriert denn so durch einen String? ts, ts...<br />
Egal.Du musst die Bedingung ändern, zu</p>
</blockquote>
<p>Wie macht man es den richtig? Sollte man nicht sowas wie:</p>
<pre><code class="language-cpp">if(Data[i]=='3')
{
 // tu irgendwas verwende
}
</code></pre>
<p>Nicht verwenden und dann besser auf die find Funktion zurückgreifen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229621</guid><dc:creator><![CDATA[wstr]]></dc:creator><pubDate>Tue, 03 Jul 2012 11:43:29 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage zu string in Schleife on Tue, 03 Jul 2012 11:47:36 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Oder die weitaus kryptischere C++-Variante (wobei ich keinen Grund sehe sie obigem vorzuziehen):</p>
</blockquote>
<p>Und der notwendige const_cast ist für dich kein Hinweis, dass deine C-Variante <s>eventuell</s> riskant <s>sein könnte</s> ist?</p>
<p>edit: Du benutzt ja sogar data(), das ist sogar garantiert falsch, da data() bei einigen Implementierungen bekanntermaßen nicht nullterminiert ist (braucht es schließlich auch nicht sein).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229623</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 03 Jul 2012 11:47:36 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage zu string in Schleife on Tue, 03 Jul 2012 11:49:51 GMT]]></title><description><![CDATA[<p>wstr schrieb:</p>
<blockquote>
<p>Sone schrieb:</p>
<blockquote>
<p>Wer iteriert denn so durch einen String? ts, ts...<br />
Egal.Du musst die Bedingung ändern, zu</p>
</blockquote>
<p>Wie macht man es den richtig? Sollte man nicht sowas wie:</p>
<pre><code class="language-cpp">if(Data[i]=='3')
{
 // tu irgendwas verwende
}
</code></pre>
<p>Nicht verwenden und dann besser auf die find Funktion zurückgreifen?</p>
</blockquote>
<p>Deine Variante ist schon ok so, nachdem du den Fehler behebst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229625</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 03 Jul 2012 11:49:51 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage zu string in Schleife on Tue, 03 Jul 2012 12:10:11 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Sone schrieb:</p>
<blockquote>
<p>Oder die weitaus kryptischere C++-Variante (wobei ich keinen Grund sehe sie obigem vorzuziehen):</p>
</blockquote>
<p>Und der notwendige const_cast ist für dich kein Hinweis, dass deine C-Variante <s>eventuell</s> riskant <s>sein könnte</s> ist?</p>
<p>edit: Du benutzt ja sogar data(), das ist sogar garantiert falsch, da data() bei einigen Implementierungen bekanntermaßen nicht nullterminiert ist (braucht es schließlich auch nicht sein).</p>
</blockquote>
<p>ouch, ouch, ouch. Das war wohl ganz krasser C-Mist. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /><br />
<a href="http://en.cppreference.com/w/cpp/string/basic_string/data" rel="nofollow">http://en.cppreference.com/w/cpp/string/basic_string/data</a><br />
Ich dachte, es ist dasselbe wie bei <code>std::vector::data</code> <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/2229631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229631</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 03 Jul 2012 12:10:11 GMT</pubDate></item></channel></rss>