<?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]]></title><description><![CDATA[<p>Wenn ich versuche einen key mit find zu suchen klappt es nicht aber begin und funktionieren.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
#include &lt;string&gt; 
#include &lt;fstream&gt; 
#include &lt;vector&gt;
#include &lt;map&gt;
#include &quot;include/libhtml++.h&quot; 
#include &quot;cgi.h&quot; 

#define CGI

using std::vector;
using namespace std;
*
The cgi request function get the query string from the cgi query
*/

bool request()
{
	query_string = string();
	char *request = getenv(&quot;REQUEST_METHOD&quot;);
	char *env = getenv(&quot;QUERY_STRING&quot;);
	char *clength = getenv (&quot;CONTENT_LENGTH&quot;);

	if( request == 0 ) 
	{ 
		return false;
	}

		else if(request == std::string(&quot;GET&quot;)) 
		{ 
        		if (env != 0) 
         		{ 
				query_string = env;
				return true;
         		}
		else return false;
		}

		else if(request == std::string(&quot;POST&quot;))
		{

	 		if (clength != 0)
			{
	 			getline(cin, query_string);;
				return true;
			}

		else return false;
		}

	else return false;

}

/*
This function formated the cgi input.
*/

void format()
{
	Query query;
	unsigned int len;
	len = query_string.length();

	size_t pos = 0; 
	size_t old_pos = 0; 

	while(query_string.find(&quot;+&quot;) != string::npos )
		{
			query_string.replace(query_string.find(&quot;+&quot;) ,1, &quot; &quot;);
		};

	while(len &gt; pos)
		{
     			pos = query_string.find(&quot;&amp;&quot;, old_pos);

			 	if (pos == string::npos) 
				pos = query_string.length();

			string paar = query_string.substr(old_pos, pos-old_pos);
			size_t eq_pos = paar.find(&quot;=&quot;); 

			string schluessel = paar.substr(0, eq_pos);

			string wert = paar.substr(eq_pos+1);
 			query.insert(make_pair(schluessel, wert));
			old_pos = pos+1;
       		};
/*
ausgabe funktoniert
*/

map&lt;string,string&gt;::iterator iter;

  for( iter = query.begin(); iter != query.end(); ++iter ) {
    cout &lt;&lt; &quot;Key: '&quot; &lt;&lt; iter-&gt;first &lt;&lt; &quot;', Value: &quot; &lt;&lt; iter-&gt;second &lt;&lt; endl; 
	}
/*
ausgabe klappt nicht obwohl key exitiert.
*/

map&lt;string,string&gt;::iterator iter = query.find(&quot;test&quot;); t 
  if( iter != query.end() ) {                                           
    cout &lt;&lt; &quot;You typed '&quot; &lt;&lt; iter-&gt;first &lt;&lt; &quot;' &quot; &lt;&lt; iter-&gt;second &lt;&lt; &quot; time(s)&quot; &lt;&lt; endl;
 }
}
</code></pre>
<p>cgi.h</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;map&gt;

using namespace std;

typedef std::map&lt; string, string &gt; Query;
string query_string;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/196631/problem-mit-find</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 16:37:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196631.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 31 Oct 2007 22:10:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit find on Wed, 31 Oct 2007 22:10:45 GMT]]></title><description><![CDATA[<p>Wenn ich versuche einen key mit find zu suchen klappt es nicht aber begin und funktionieren.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
#include &lt;string&gt; 
#include &lt;fstream&gt; 
#include &lt;vector&gt;
#include &lt;map&gt;
#include &quot;include/libhtml++.h&quot; 
#include &quot;cgi.h&quot; 

#define CGI

using std::vector;
using namespace std;
*
The cgi request function get the query string from the cgi query
*/

bool request()
{
	query_string = string();
	char *request = getenv(&quot;REQUEST_METHOD&quot;);
	char *env = getenv(&quot;QUERY_STRING&quot;);
	char *clength = getenv (&quot;CONTENT_LENGTH&quot;);

	if( request == 0 ) 
	{ 
		return false;
	}

		else if(request == std::string(&quot;GET&quot;)) 
		{ 
        		if (env != 0) 
         		{ 
				query_string = env;
				return true;
         		}
		else return false;
		}

		else if(request == std::string(&quot;POST&quot;))
		{

	 		if (clength != 0)
			{
	 			getline(cin, query_string);;
				return true;
			}

		else return false;
		}

	else return false;

}

/*
This function formated the cgi input.
*/

void format()
{
	Query query;
	unsigned int len;
	len = query_string.length();

	size_t pos = 0; 
	size_t old_pos = 0; 

	while(query_string.find(&quot;+&quot;) != string::npos )
		{
			query_string.replace(query_string.find(&quot;+&quot;) ,1, &quot; &quot;);
		};

	while(len &gt; pos)
		{
     			pos = query_string.find(&quot;&amp;&quot;, old_pos);

			 	if (pos == string::npos) 
				pos = query_string.length();

			string paar = query_string.substr(old_pos, pos-old_pos);
			size_t eq_pos = paar.find(&quot;=&quot;); 

			string schluessel = paar.substr(0, eq_pos);

			string wert = paar.substr(eq_pos+1);
 			query.insert(make_pair(schluessel, wert));
			old_pos = pos+1;
       		};
/*
ausgabe funktoniert
*/

map&lt;string,string&gt;::iterator iter;

  for( iter = query.begin(); iter != query.end(); ++iter ) {
    cout &lt;&lt; &quot;Key: '&quot; &lt;&lt; iter-&gt;first &lt;&lt; &quot;', Value: &quot; &lt;&lt; iter-&gt;second &lt;&lt; endl; 
	}
/*
ausgabe klappt nicht obwohl key exitiert.
*/

map&lt;string,string&gt;::iterator iter = query.find(&quot;test&quot;); t 
  if( iter != query.end() ) {                                           
    cout &lt;&lt; &quot;You typed '&quot; &lt;&lt; iter-&gt;first &lt;&lt; &quot;' &quot; &lt;&lt; iter-&gt;second &lt;&lt; &quot; time(s)&quot; &lt;&lt; endl;
 }
}
</code></pre>
<p>cgi.h</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;map&gt;

using namespace std;

typedef std::map&lt; string, string &gt; Query;
string query_string;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1395651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395651</guid><dc:creator><![CDATA[Tuxist]]></dc:creator><pubDate>Wed, 31 Oct 2007 22:10:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit find on Thu, 01 Nov 2007 05:33:34 GMT]]></title><description><![CDATA[<p>Geht das, dass man nem map mit string hat und nach char* sucht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1395709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395709</guid><dc:creator><![CDATA[pu]]></dc:creator><pubDate>Thu, 01 Nov 2007 05:33:34 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit find on Thu, 01 Nov 2007 09:27:26 GMT]]></title><description><![CDATA[<p>Es gibt nen string-Konstruktor der ein const cchar* entgegennimmt, der wird dannohl aufgerufen um ein temporäres Objekt zu erstellen, das an find übergeben wird. Oder kurz, ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1395750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395750</guid><dc:creator><![CDATA[Tyrdal]]></dc:creator><pubDate>Thu, 01 Nov 2007 09:27:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit find on Thu, 01 Nov 2007 11:06:50 GMT]]></title><description><![CDATA[<p>Hab gerade keine Zeit alles aufzuräumen ... aber 1x:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;cstring&gt;

bool request(std::string&amp; dest)
{
	char* request_method = std::getenv(&quot;REQUEST_METHOD&quot;);
    if (request_method == NULL)
		return false;

	if (std::strcmp(request_method, &quot;GET&quot;) == 0)
	{
		char* query = std::getenv(&quot;QUERY_STRING&quot;)
		if (query == NULL)
			return false;

		dest = query;
	}
	else if (std::strcmp(request_method, &quot;POST&quot;) == 0)
	{
		char* content_length = std::getenv(&quot;CONTENT_LENGTH&quot;);
		if (content_length == NULL)
			return false;

		std::getline(std::cin, dest);
	}
	return true;
}
</code></pre>
<p>... usw. <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/1395798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395798</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 01 Nov 2007 11:06:50 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit find on Thu, 01 Nov 2007 11:21:54 GMT]]></title><description><![CDATA[<p>Tuxist schrieb:</p>
<blockquote>
<pre><code class="language-cpp">/*
ausgabe funktoniert
*/

map&lt;string,string&gt;::iterator iter;

  for( iter = query.begin(); iter != query.end(); ++iter ) {
    cout &lt;&lt; &quot;Key: '&quot; &lt;&lt; iter-&gt;first &lt;&lt; &quot;', Value: &quot; &lt;&lt; iter-&gt;second &lt;&lt; endl; 
	}
/*
ausgabe klappt nicht obwohl key exitiert.
*/

map&lt;string,string&gt;::iterator iter = query.find(&quot;test&quot;); t 
  if( iter != query.end() ) {                                           
    cout &lt;&lt; &quot;You typed '&quot; &lt;&lt; iter-&gt;first &lt;&lt; &quot;' &quot; &lt;&lt; iter-&gt;second &lt;&lt; &quot; time(s)&quot; &lt;&lt; endl;
 }
}
</code></pre>
<p>cgi.h</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;map&gt;

using namespace std;

typedef std::map&lt; string, string &gt; Query;
string query_string;
</code></pre>
</blockquote>
<p>ich hoffe mal, dass das t hinter dem query.find() sowie das grossgeschriebene Query tippfehler sind. - Wie sieht denn der Output aus den diese Zeilen verursachen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1395808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395808</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 01 Nov 2007 11:21:54 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit find on Thu, 01 Nov 2007 13:56:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void format(std::string query_string, std::map&lt;std::string, std::string&gt;&amp; dest)
{
	for (std::size_t pos = query_string.find(&quot;+&quot;); pos != std::string::npos; pos = query_string.find(&quot;+&quot;, ++pos))
		query_string.replace(pos, 1, &quot; &quot;);

	const std::size_t query_string_length(query_string.length());
	Query query;

	size_t pos(0);
	size_t old_pos(0);
    while (len &gt; pos)
	{
		pos = query_string.find(&quot;&amp;&quot;, old_pos);

		if (pos == std::string::npos)
			pos = query_string_len;

		const std::string data(query_string.substr(old_pos, pos - old_pos));
		old_pos = ++pos;
		const std::size_t value_pos(data.find(&quot;=&quot;));

		query.insert(std:::make_pair(data.substr(0, value_pos), data.substr(++value_pos)));
	}
}
</code></pre>
<p>das query_string eine Kopie ist absicht, da der String ja modifiziert wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1395880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395880</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 01 Nov 2007 13:56:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit find on Fri, 02 Nov 2007 13:41:28 GMT]]></title><description><![CDATA[<p>wenn ich das query klein schreib geht es nicht da das große einen map typ definiert und das kleine eine std::map ist oder habe ich etwas falsch verstanden ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396410</guid><dc:creator><![CDATA[Tuxist]]></dc:creator><pubDate>Fri, 02 Nov 2007 13:41:28 GMT</pubDate></item></channel></rss>