<?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[find() Funktion funktioniert nicht]]></title><description><![CDATA[<p>1. Ich wollte eine Gruppe strings die durch Leerzeichen getrennt waren in unterschiedliche Speicher tun. Dazu habe ich zuerst den .find(&quot; &quot;,0) Befehl benutzt. Dieser funktioniert bei mir jedoch nur wenn ich den string direkt im quelltext eingebe: string text=&quot;hier steht ein Text&quot;;<br />
Unter dieser Voraussetzung zeigt er mir die Position der Leerzeichen.<br />
Wenn ich jedoch folgendes mache:</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;cstring&gt;<br />
#include &lt;cstdio&gt;<br />
using namespace std;<br />
int main ()<br />
{<br />
string ausgabe;<br />
cin&gt;&gt;ausgabe;<br />
int pos;<br />
pos = ausgabe.find(&quot; &quot; ,0);<br />
cout&lt;&lt;pos&lt;&lt;endl;<br />
fflush(stdin);<br />
getchar();<br />
}</p>
<p>also den Text über die Konsole eingeben lasse, passiert unterschiedliches:<br />
a) nach Leerzeichen suchen funktioniert gar nicht (ausgabe: -1)<br />
b) wenn ich nach z.B. (&quot;hier&quot;) suchen lasse:<br />
wenn ich eingebe: &quot;hier ist was los&quot; :ausgabe 0(funktioniert)<br />
wenn ich eingebe: &quot;isthierwaslos&quot; :ausgabe 3(funktioniert)<br />
wenn ich eingebe: &quot;ist hier was los&quot; :ausgabe -1 (funkt. nicht)</p>
<p>das heißt er gibt mir die Position nicht, wenn ich Leerzeichen verwende(außer das Wort steht an erster Stelle)<br />
Wer kann mir helfen ohne i-was kompliziertes zu versuchen (bin totaler Anfänger, also ohne z.B. char*)?</p>
<p>2. kleine Frage: wie um Gottes willen kann man int's nach der Eingabe wenn sie nur durch Leerzeichen getrennt sind in unterschiedliche Speicher packen<br />
(also ohne nach jeder Zahl Enter zu drücken)?</p>
<p>MfG,<br />
totaler n00b</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/253029/find-funktion-funktioniert-nicht</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 02:57:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/253029.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 27 Oct 2009 20:32:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Tue, 27 Oct 2009 20:32:39 GMT]]></title><description><![CDATA[<p>1. Ich wollte eine Gruppe strings die durch Leerzeichen getrennt waren in unterschiedliche Speicher tun. Dazu habe ich zuerst den .find(&quot; &quot;,0) Befehl benutzt. Dieser funktioniert bei mir jedoch nur wenn ich den string direkt im quelltext eingebe: string text=&quot;hier steht ein Text&quot;;<br />
Unter dieser Voraussetzung zeigt er mir die Position der Leerzeichen.<br />
Wenn ich jedoch folgendes mache:</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;cstring&gt;<br />
#include &lt;cstdio&gt;<br />
using namespace std;<br />
int main ()<br />
{<br />
string ausgabe;<br />
cin&gt;&gt;ausgabe;<br />
int pos;<br />
pos = ausgabe.find(&quot; &quot; ,0);<br />
cout&lt;&lt;pos&lt;&lt;endl;<br />
fflush(stdin);<br />
getchar();<br />
}</p>
<p>also den Text über die Konsole eingeben lasse, passiert unterschiedliches:<br />
a) nach Leerzeichen suchen funktioniert gar nicht (ausgabe: -1)<br />
b) wenn ich nach z.B. (&quot;hier&quot;) suchen lasse:<br />
wenn ich eingebe: &quot;hier ist was los&quot; :ausgabe 0(funktioniert)<br />
wenn ich eingebe: &quot;isthierwaslos&quot; :ausgabe 3(funktioniert)<br />
wenn ich eingebe: &quot;ist hier was los&quot; :ausgabe -1 (funkt. nicht)</p>
<p>das heißt er gibt mir die Position nicht, wenn ich Leerzeichen verwende(außer das Wort steht an erster Stelle)<br />
Wer kann mir helfen ohne i-was kompliziertes zu versuchen (bin totaler Anfänger, also ohne z.B. char*)?</p>
<p>2. kleine Frage: wie um Gottes willen kann man int's nach der Eingabe wenn sie nur durch Leerzeichen getrennt sind in unterschiedliche Speicher packen<br />
(also ohne nach jeder Zahl Enter zu drücken)?</p>
<p>MfG,<br />
totaler n00b</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1799337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799337</guid><dc:creator><![CDATA[n00b42]]></dc:creator><pubDate>Tue, 27 Oct 2009 20:32:39 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Tue, 27 Oct 2009 20:54:11 GMT]]></title><description><![CDATA[<p>Zu Punkt 1: guck dir mal an, was der istream Operator &gt;&gt; für std::string macht. Der stoppt nämlich beim ersten Whitespacezeichen das er findet. Dagegen könnten folgende Sachen helfen:</p>
<ol>
<li><a href="http://www.cplusplus.com/reference/string/getline/" rel="nofollow">getline</a></li>
<li>Möglicherweise auch <a href="http://www.cplusplus.com/reference/iostream/manipulators/noskipws/" rel="nofollow">noskipws</a>. Das habe ich aber selbst noch nie in Zusammenhang mit std::string verwendet. Wäre aber mal einen Versuch wert, ob das geht.</li>
</ol>
<p>Zu Punkt 2: Du machst einfach mehrere formatierte Eingaben (also mit Operator &gt;&gt;) nacheinander. Wie auch für string, nimmt der &gt;&gt; Operator für int Leerzeichen als Trennzeichen. Genauso verhält er sich übrigens bei allen eingebauten Datentypen, für die es diesen Operator gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1799345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799345</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 27 Oct 2009 20:54:11 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Tue, 27 Oct 2009 20:48:42 GMT]]></title><description><![CDATA[<p>Das liegt daran, dass der &gt;&gt;-Operator bis zu dem ersten Leerzeichen einliest. <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="😉"
    /></p>
<p>Versuchs mal so:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt; // benutze string!
using namespace std;
int main ()
{
string ausgabe;
getline(cin, ausgabe);
int pos;
pos = ausgabe.find(&quot; &quot; ,0);
cout&lt;&lt;pos&lt;&lt;endl;
fflush(stdin);
getchar();
}
</code></pre>
<p>btw:<br />
cpp-Tags benutzen!</p>
<p>Zu 2:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
int main ()
{
 int i = 0;
 int i2 = 0;

 std::cout &lt;&lt; &quot;2 Zahlen eingeben: &quot;;
 std::cin &gt;&gt; i &gt;&gt; i2;
 std::cout &lt;&lt; i &lt;&lt; &quot;, &quot; &lt;&lt; i2;

 fflush(stdin);
 getchar();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1799346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799346</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 27 Oct 2009 20:48:42 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Tue, 27 Oct 2009 20:49:11 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt; 
//#include &lt;cstring&gt; C-String? oO
#include &lt;string&gt;

//using namespace std; 

int main () 
{ 
	std::string varStr(&quot;hier geht der bär ab&quot;);
	::size_t pos = varStr.find(&quot;geht&quot;);

	if(pos != std::string::npos)
		std::cout&lt;&lt; pos;

	std::cin.get();
}
</code></pre>
<p>Warum integer? Steht doch direkt in der cpp-reference, dass ein ::size_t zurückgegeben wird...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1799347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799347</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 27 Oct 2009 20:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Tue, 27 Oct 2009 20:54:06 GMT]]></title><description><![CDATA[<p><code>::size_t pos = varStr.find(&quot;geht&quot;);</code><br />
kannst du nicht auch mal mit weniger doppelpkt programmieren?<br />
noch dazu, wenn sie falsch sind...<br />
<code>size_t</code> liegt im <code>namespace std</code> , egal was dein compiler denkt... ich finds zwar auch sinnlos und doof, aber kann man nix machen, wenns so im standard steht - ist ja auch nicht das einzige, was im standard nich so doll ist ;o)<br />
noch dazu wäre <code>std::string::size_type</code> korrekt (das wird zwar immer ein size_t sein, aber der allocator kann eben auch nen anderen size type nutzen (vll kann er eh nur 2^16 byte adressieren und nimmt deshalb sinnvollerweise uint16 oder was auch immer...)</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1799352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799352</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 27 Oct 2009 20:54:06 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Tue, 27 Oct 2009 20:55:14 GMT]]></title><description><![CDATA[<p>n00b42 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">fflush(stdin);
getchar();
</code></pre>
</blockquote>
<p><code>fflush(stdin)</code> solltest du nicht schreiben, das führt zu undefiniertem Verhalten. Auch <code>getchar()</code> empfehle ich nicht, weil du C- und C++-Eingabebehandlung mischst. Nimm <code>std::cin.get()</code> , wie von Kóyaánasqatsi vorgeschlagen.</p>
<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>Warum integer? Steht doch direkt in der cpp-reference, dass ein ::size_t zurückgegeben wird...</p>
</blockquote>
<p>Gewöhn dir bitte ab, immer :: für den globalen Namensraum anzugeben, damit verwirrst du die Leute nur. <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 />
<code>size_t</code> wäre wenn schon in <code>std</code> ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1799353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799353</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 27 Oct 2009 20:55:14 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Tue, 27 Oct 2009 20:58:23 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p><code>size_t</code> wäre wenn schon in <code>std</code> ...</p>
</blockquote>
<p>Bei mir nicht. <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/1799355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799355</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 27 Oct 2009 20:58:23 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Tue, 27 Oct 2009 21:05:04 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>Nexus schrieb:</p>
<blockquote>
<p><code>size_t</code> wäre wenn schon in <code>std</code> ...</p>
</blockquote>
<p>Bei mir nicht. <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>
</blockquote>
<p>sicher ist er das bei dir auch - nur vll nimmts dein compiler nicht so genau mit dem standard und bietet ihn zusätzlich auch im globalen scope an - aber selbst dann wär es noch nicht richtig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /><br />
da kommt mir gerad nen interessanter gedanke:<br />
welchen <code>size_type</code> hat <code>std::vector&lt;bool&gt;</code> ? ^^ ich glaub auch size_t - dabei kann er doch (zumindest theoretisch) <code>sizeof(char)*std::numeric_limits&lt;allocator_type::size_type&gt;::max()</code> allokieren?!</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1799361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799361</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 27 Oct 2009 21:05:04 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Tue, 27 Oct 2009 21:18:30 GMT]]></title><description><![CDATA[<p>Bei mir ist im std-Scope nichts von size_t zu finden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1799368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799368</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 27 Oct 2009 21:18:30 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Tue, 27 Oct 2009 21:27:47 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>Bei mir ist im std-Scope nichts von size_t zu finden.</p>
</blockquote>
<p>Wo hast du gesucht? Bei IntelliSense? Darauf solltest du dich nicht verlassen.</p>
<p><code>size_t</code> ist ein Typ der C-Standardbibliothek und wurde mit C++ in den Header <code>&lt;cstddef&gt;</code> verfrachtet und in <code>std</code> eingepackt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1799379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799379</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 27 Oct 2009 21:27:47 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Tue, 27 Oct 2009 21:30:36 GMT]]></title><description><![CDATA[<p>Jo, IntelliSense war Schuld. Habe das Gefühl, dass das bei VS ziemlich verbuggt ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1799381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799381</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 27 Oct 2009 21:30:36 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Wed, 28 Oct 2009 19:37:24 GMT]]></title><description><![CDATA[<p>Danke für die schnellen Antworten. Hätte gar nicht gedacht, dass meine Frage gleich so ein breites Echo haben würde <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1799914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1799914</guid><dc:creator><![CDATA[n00b42]]></dc:creator><pubDate>Wed, 28 Oct 2009 19:37:24 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Thu, 29 Oct 2009 14:21:40 GMT]]></title><description><![CDATA[<p>n00b42 schrieb:</p>
<blockquote>
<p>Danke für die schnellen Antworten. Hätte gar nicht gedacht, dass meine Frage gleich so ein breites Echo haben würde <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> .</p>
</blockquote>
<p>Jopp - das lag aber eher an K. als an deiner Frage^^</p>
<p>PS:</p>
<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>Jo, IntelliSense war Schuld. Habe das Gefühl, dass das bei VS ziemlich verbuggt ist.</p>
</blockquote>
<p>so was guckt man ja auch im standard und nicht in der IDE nach... Intellisense zeigt zwar trotzdem vieles aus der standard-lib nicht an, aber die Fehler dort haben mich bisher nur extrem selten gestört...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800246</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 29 Oct 2009 14:21:40 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Thu, 29 Oct 2009 18:17:50 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>so was guckt man ja auch im standard und nicht in der IDE nach... Intellisense zeigt zwar trotzdem vieles aus der standard-lib nicht an, aber die Fehler dort haben mich bisher nur extrem selten gestört...</p>
</blockquote>
<p>Das Problem liegt darin, dass die Standardbibliothek des MSVC++ C-Typen wie <code>size_t</code> global definiert und per <code>using</code> in den <code>std</code> -Namensraum zieht. IntelliSense scheint <code>using</code> nicht zu berücksichtigen.</p>
<p>Abgesehen von gelegentlichen Ausfällen gefällt mir IntelliSense nicht schlecht. Allerdings sollte man es nicht als Massstab für den C++-Standard nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800368</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 29 Oct 2009 18:17:50 GMT</pubDate></item><item><title><![CDATA[Reply to find() Funktion funktioniert nicht on Thu, 29 Oct 2009 19:48:04 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>unskilled schrieb:</p>
<blockquote>
<p>so was guckt man ja auch im standard und nicht in der IDE nach... Intellisense zeigt zwar trotzdem vieles aus der standard-lib nicht an, aber die Fehler dort haben mich bisher nur extrem selten gestört...</p>
</blockquote>
<p>Das Problem liegt darin, dass die Standardbibliothek des MSVC++ C-Typen wie <code>size_t</code> global definiert und per <code>using</code> in den <code>std</code> -Namensraum zieht. IntelliSense scheint <code>using</code> nicht zu berücksichtigen.</p>
</blockquote>
<p>dein Intellisense kennt size_t? meins nicht - wird daran liegen, dass es auch nirgendwo definiert wird <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /><br />
aber ja, leider scheint intellisense using nicht verstehen zu können <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Nexus schrieb:</p>
<blockquote>
<p>Abgesehen von gelegentlichen Ausfällen gefällt mir IntelliSense nicht schlecht. Allerdings sollte man es nicht als Massstab für den C++-Standard nehmen.</p>
</blockquote>
<p>wollt ich damit auch sagen.</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800412</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 29 Oct 2009 19:48:04 GMT</pubDate></item></channel></rss>