<?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[Problem mit find_if]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein Problem mit &quot;find_if&quot;. Es geht darum von einer Datei Strings einzulesen die ein Komma als Trennzeichen haben da in einer Zeile mehrer Werte stehen. So sieht eine Zeile aus:</p>
<pre><code>A,00CA,GOLDSTONE GTS,35.350525,-116.888367,3038,18000,0,6000
</code></pre>
<p>Dazu nun folgender Code, noch nciht vollstaendig weil ich erstmal das &quot;find_if&quot; Problem loesen moechte:</p>
<pre><code class="language-cpp">bool komma(char c)
{
	return c == ',';
}

ifstream Data (&quot;data.txt&quot;);

string input_string;

while(getline(Data, input_string))
{
	typedef string::const_iterator iter;
	iter i = input_string.begin();

	while(i != input_string.end())
	{
		iter j = find_if(i, input_string.end(), komma);
	}
}
</code></pre>
<p>Der Complier (VC++ 9.0) gibt folgenden Fehler aus:</p>
<pre><code>1&gt;c:\users\sven\documents\visual studio 2008\projects\sg_b777\sg_b777\sys.cpp(300) : error C2782: '_InIt std::find_if(_InIt,_InIt,_Pr)' : template parameter '_InIt' is ambiguous
1&gt;        c:\program files\microsoft visual studio 9.0\vc\include\algorithm(94) : see declaration of 'std::find_if'
1&gt;        could be 'std::_String_iterator&lt;_Elem,_Traits,_Alloc&gt;'
1&gt;        with
1&gt;        [
1&gt;            _Elem=char,
1&gt;            _Traits=std::char_traits&lt;char&gt;,
1&gt;            _Alloc=std::allocator&lt;char&gt;
1&gt;        ]
1&gt;        or       'iter'
</code></pre>
<p>Kann mir jemand einen Hinweis geben wo der Fehler ist und/oder was ich anders machen muss? Dank schonmal im Vorraus.</p>
<p>Edit: habe eine Antwort bekommen, der Fehler liegt wohl bei</p>
<pre><code class="language-cpp">typedef string::const_iterator iter;
</code></pre>
<p>wo wohl &quot;string::iterator&quot; stehen muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/213312/problem-mit-find_if</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 10:18:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/213312.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 May 2008 11:19:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit find_if on Fri, 16 May 2008 11:22:39 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein Problem mit &quot;find_if&quot;. Es geht darum von einer Datei Strings einzulesen die ein Komma als Trennzeichen haben da in einer Zeile mehrer Werte stehen. So sieht eine Zeile aus:</p>
<pre><code>A,00CA,GOLDSTONE GTS,35.350525,-116.888367,3038,18000,0,6000
</code></pre>
<p>Dazu nun folgender Code, noch nciht vollstaendig weil ich erstmal das &quot;find_if&quot; Problem loesen moechte:</p>
<pre><code class="language-cpp">bool komma(char c)
{
	return c == ',';
}

ifstream Data (&quot;data.txt&quot;);

string input_string;

while(getline(Data, input_string))
{
	typedef string::const_iterator iter;
	iter i = input_string.begin();

	while(i != input_string.end())
	{
		iter j = find_if(i, input_string.end(), komma);
	}
}
</code></pre>
<p>Der Complier (VC++ 9.0) gibt folgenden Fehler aus:</p>
<pre><code>1&gt;c:\users\sven\documents\visual studio 2008\projects\sg_b777\sg_b777\sys.cpp(300) : error C2782: '_InIt std::find_if(_InIt,_InIt,_Pr)' : template parameter '_InIt' is ambiguous
1&gt;        c:\program files\microsoft visual studio 9.0\vc\include\algorithm(94) : see declaration of 'std::find_if'
1&gt;        could be 'std::_String_iterator&lt;_Elem,_Traits,_Alloc&gt;'
1&gt;        with
1&gt;        [
1&gt;            _Elem=char,
1&gt;            _Traits=std::char_traits&lt;char&gt;,
1&gt;            _Alloc=std::allocator&lt;char&gt;
1&gt;        ]
1&gt;        or       'iter'
</code></pre>
<p>Kann mir jemand einen Hinweis geben wo der Fehler ist und/oder was ich anders machen muss? Dank schonmal im Vorraus.</p>
<p>Edit: habe eine Antwort bekommen, der Fehler liegt wohl bei</p>
<pre><code class="language-cpp">typedef string::const_iterator iter;
</code></pre>
<p>wo wohl &quot;string::iterator&quot; stehen muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510394</guid><dc:creator><![CDATA[schwudde]]></dc:creator><pubDate>Fri, 16 May 2008 11:22:39 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit find_if on Fri, 16 May 2008 11:27:04 GMT]]></title><description><![CDATA[<p>Jo oder:</p>
<pre><code class="language-cpp">std::find_if&lt; std::string::const_iterator, bool (*)( std::string::value_type ) &gt;( ... );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1510403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510403</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 16 May 2008 11:27:04 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit find_if on Fri, 16 May 2008 11:37:22 GMT]]></title><description><![CDATA[<p>David_pb schrieb:</p>
<blockquote>
<p>Jo oder:</p>
<pre><code class="language-cpp">std::find_if&lt; std::string::const_iterator, bool (*)( std::string::value_type ) &gt;( ... );
</code></pre>
</blockquote>
<p>Es genügt sogar</p>
<pre><code class="language-cpp">std::find_if&lt; std::string::const_iterator &gt;( ... );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1510413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510413</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 16 May 2008 11:37:22 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit find_if on Fri, 16 May 2008 15:02:15 GMT]]></title><description><![CDATA[<p>schwudde schrieb:</p>
<blockquote>
<p>Es geht darum von einer Datei Strings einzulesen die ein Komma als Trennzeichen haben da in einer Zeile mehrer Werte stehen. So sieht eine Zeile aus:</p>
<pre><code>A,00CA,GOLDSTONE GTS,35.350525,-116.888367,3038,18000,0,6000
</code></pre>
</blockquote>
<p>dazu benötigst Du kein find_if. Man kann sowas auch leicht direkt einlesen. Siehe dazu <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-190246-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-trenner-and-start-is-11.html" rel="nofollow">hier mit 'trenner'</a> oder <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-212518-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-sep+september-and-start-is-19.html" rel="nofollow">hier mit 'sep'</a>.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510571</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Fri, 16 May 2008 15:02:15 GMT</pubDate></item></channel></rss>