<?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[frage zu string::find]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe ein kleines problem mit meinem code:</p>
<pre><code class="language-cpp">string Cpp2Html::replace(string *pStr) {
...
        if (pStr-&gt;substr(pos, 4) == &quot;&amp;lt;&quot; &amp;&amp; pStr-&gt;substr(0, pos).find(&quot;#&quot;) != string::npos) 
            for (i = pos + 4; i &lt; pStr-&gt;length(); i++)
                if (pStr-&gt;substr(i, 4) == &quot;&amp;gt;&quot;) {
                    retStr = styleStr + pStr-&gt;substr(pos, i - pos + 4) + styleEnd;
                    pos += i - pos + 4;
                    return retStr;
                }
...
}
</code></pre>
<p>es scheint so zu sein, dass pStr-&gt;substr(0, pos).find(&quot;#&quot;) immer was findet. das sollte nicht so sein. im debugger sehe ich, dass pStr über 2000 zeichen lang ist, dass kann eigentlich auch net sein.</p>
<pre><code class="language-cpp">vector&lt;string&gt; *pInputStrs;
...
    for (unsigned int i = 0; i &lt; pInputStrs-&gt;size(); i++) {
		pos = 0;
		lineNew.clear();
		while (pos &lt; (*pInputStrs)[i].length())
			lineNew += replace(&amp;(*pInputStrs)[i]);
		pOutputStrs-&gt;push_back(lineNew);
	}
</code></pre>
<p>wenn pStr 2000 zeichen hat, kann ich nachvollziehen warum .find immer funktioniert. aber warum hat pStr so viele zeichen?</p>
<p>(ich benutze vc 2008)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/250671/frage-zu-string-find</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 22:48:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/250671.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Sep 2009 09:46:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to frage zu string::find on Tue, 22 Sep 2009 09:46:54 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe ein kleines problem mit meinem code:</p>
<pre><code class="language-cpp">string Cpp2Html::replace(string *pStr) {
...
        if (pStr-&gt;substr(pos, 4) == &quot;&amp;lt;&quot; &amp;&amp; pStr-&gt;substr(0, pos).find(&quot;#&quot;) != string::npos) 
            for (i = pos + 4; i &lt; pStr-&gt;length(); i++)
                if (pStr-&gt;substr(i, 4) == &quot;&amp;gt;&quot;) {
                    retStr = styleStr + pStr-&gt;substr(pos, i - pos + 4) + styleEnd;
                    pos += i - pos + 4;
                    return retStr;
                }
...
}
</code></pre>
<p>es scheint so zu sein, dass pStr-&gt;substr(0, pos).find(&quot;#&quot;) immer was findet. das sollte nicht so sein. im debugger sehe ich, dass pStr über 2000 zeichen lang ist, dass kann eigentlich auch net sein.</p>
<pre><code class="language-cpp">vector&lt;string&gt; *pInputStrs;
...
    for (unsigned int i = 0; i &lt; pInputStrs-&gt;size(); i++) {
		pos = 0;
		lineNew.clear();
		while (pos &lt; (*pInputStrs)[i].length())
			lineNew += replace(&amp;(*pInputStrs)[i]);
		pOutputStrs-&gt;push_back(lineNew);
	}
</code></pre>
<p>wenn pStr 2000 zeichen hat, kann ich nachvollziehen warum .find immer funktioniert. aber warum hat pStr so viele zeichen?</p>
<p>(ich benutze vc 2008)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782545</guid><dc:creator><![CDATA[fwsp]]></dc:creator><pubDate>Tue, 22 Sep 2009 09:46:54 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu string::find on Tue, 22 Sep 2009 10:22:11 GMT]]></title><description><![CDATA[<p>Warum machst du des alles mit Pointern? Da langen (fast) überall Referenzen, das machts dann etwas übersichtlicher. Man kann so auch nicht ganz erkennen was du erreichen willst und vor allem sagt dein geposteter code nichts drüber aus wie du die Strings in den vector packst, bzw. wie du die strings überhaupt aufbaust- Und letzteres sollte schon da stehen, wenn man rausfinden will warum so ein string 2000 Zeichen haben kann..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782565</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 22 Sep 2009 10:22:11 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu string::find on Tue, 22 Sep 2009 10:43:03 GMT]]></title><description><![CDATA[<p>ich bin ein c anfänger, deswegen sieht es anders aus als du es vllt machen würdest^^ der code gehört zu einem programm, der code in gehighlightest html speichert.</p>
<p>hier der code, der die strings einliest.</p>
<pre><code class="language-cpp">ifstream inFile;
...
	        inFile.open(inFileName.c_str());
	        if (inFile.is_open()) {		
		        while (getline(inFile, s)) 
			        inputStrs.push_back(myStringReplace(myStringReplace(s, &quot;&lt;&quot;, &quot;&amp;lt;&quot;), &quot;&gt;&quot;, &quot;&amp;gt;&quot;));
		        inFile.close();
		        inFile.clear();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1782569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782569</guid><dc:creator><![CDATA[fwsp]]></dc:creator><pubDate>Tue, 22 Sep 2009 10:43:03 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu string::find on Tue, 22 Sep 2009 11:31:11 GMT]]></title><description><![CDATA[<p>Zunächst solltest du mal prüfen ob der String überhaupt gültig ist, oder ob der Pointer evtl. irgendwo hin zeigt, nur nicht da wo er sollte <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1782584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782584</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Tue, 22 Sep 2009 11:31:11 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu string::find on Tue, 22 Sep 2009 12:30:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">inFile.open(inFileName.c_str());
	        if (inFile.is_open()) {		
                while (getline(inFile, s)) {
                    //s = myStringReplace(s, &quot;&lt;&quot;, &quot;&amp;lt;&quot;);
                    //s = myStringReplace(s , &quot;&gt;&quot;, &quot;&amp;gt;&quot;);
			        inputStrs.push_back(s);
                }
		        inFile.close();
		        inFile.clear();

                cout &lt;&lt; inputStrs.size() &lt;&lt; endl; // gibt 1 aus
</code></pre>
<p>das problem scheint beim laden der daten zu entstehen, inputStrs.size() ist 1.<br />
im debugger kann ich sehen, das da wo das ende sein sollte nur ne 13 steht. wird die 10 verschluckt?</p>
<p>//Edit:<br />
alles zurück, in der datei stehen schon keine vernünftigen umbrüche. kommt davon wenn man mit dich die dateien nur mit notepad++ anguckt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782597</guid><dc:creator><![CDATA[fwsp]]></dc:creator><pubDate>Tue, 22 Sep 2009 12:30:59 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu string::find on Tue, 22 Sep 2009 18:57:10 GMT]]></title><description><![CDATA[<p>btw hatte ich letztes mal im debugger(des msvc) extreme probleme, als ich mit vector&lt;string&gt; gearbeitet hatte - konnte den debugger-bug aber nicht reproduzieren - war nur in dem einen projekt so, dass der debugger müll angezeigt hat - so das ich mir dann testausgaben bauen musste um zu sehen, was wirklich drin steht etc...</p>
<p>wollts nur mal erwähnt haben - wenns bei dir nicht so ist, kannste das einfach ignorieren^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782742</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 22 Sep 2009 18:57:10 GMT</pubDate></item></channel></rss>