<?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[CString vergleichen]]></title><description><![CDATA[<p>hallo,<br />
ich möchte in meinem programm einen einzugebenden string mit einem char aus einer datei vergleichen.ausgabe ist ein CString und da steht eine zahl drin.<br />
die andere zahl steht in der &quot;Schlüssel.txt&quot;.ich hab das so gemacht, dass die 2<br />
zahlen gleich sind, um zu testen.<br />
aber irgendwie geht er immer in die darunterstehende if-anweisung.</p>
<pre><code class="language-cpp">FILE * Dest;
char buffer[500];
bool gefunden=FALSE;
Dest=fopen(&quot;Schlüssel.txt&quot;,&quot;r&quot;);			
while(fgets(buffer,500,Dest)!=NULL)
	{
		if(ausgabe.CompareNoCase(buffer)==0)
			{
				gefunden=TRUE;
				break;
			}
	}
if(gefunden==FALSE)
      {
	      AfxMessageBox(&quot;Keine Übereinstimmung!&quot;,MB_OK,0);
	}
fclose(Dest);
</code></pre>
<p>warum macht er das ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /><br />
mfg<br />
fevernova</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/56045/cstring-vergleichen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 02 Jun 2026 06:15:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/56045.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Nov 2003 14:41:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CString vergleichen on Fri, 21 Nov 2003 14:41:36 GMT]]></title><description><![CDATA[<p>hallo,<br />
ich möchte in meinem programm einen einzugebenden string mit einem char aus einer datei vergleichen.ausgabe ist ein CString und da steht eine zahl drin.<br />
die andere zahl steht in der &quot;Schlüssel.txt&quot;.ich hab das so gemacht, dass die 2<br />
zahlen gleich sind, um zu testen.<br />
aber irgendwie geht er immer in die darunterstehende if-anweisung.</p>
<pre><code class="language-cpp">FILE * Dest;
char buffer[500];
bool gefunden=FALSE;
Dest=fopen(&quot;Schlüssel.txt&quot;,&quot;r&quot;);			
while(fgets(buffer,500,Dest)!=NULL)
	{
		if(ausgabe.CompareNoCase(buffer)==0)
			{
				gefunden=TRUE;
				break;
			}
	}
if(gefunden==FALSE)
      {
	      AfxMessageBox(&quot;Keine Übereinstimmung!&quot;,MB_OK,0);
	}
fclose(Dest);
</code></pre>
<p>warum macht er das ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /><br />
mfg<br />
fevernova</p>
]]></description><link>https://www.c-plusplus.net/forum/post/399640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/399640</guid><dc:creator><![CDATA[fevernova]]></dc:creator><pubDate>Fri, 21 Nov 2003 14:41:36 GMT</pubDate></item><item><title><![CDATA[Reply to CString vergleichen on Fri, 21 Nov 2003 16:35:05 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>wie sieht denn deine schlüssel.txt aus ?</p>
<p>Wenn da z.B. der string mit return beendet wurde wird das mitverglichen (häufiger fehler) !</p>
<p>Ich hab mal ein Paar Zeilen getippt das funktioniert - die eizelnen Objecte &amp; Methoden solltest du dir in der hilfe ansehen :</p>
<pre><code>CString BenutzerString = &quot;12345&quot;; // Die eingabe des Benutzers
 CString DateiString; // Hier kommt die Zahl aus der Datei rein
 CStdioFile Datei; // Die Datei

	Datei.Open(&quot;schlüssel.txt&quot;, CFile::modeRead);	// Datei öffnen zum Lesen
	Datei.ReadString(DateiString);	// String einlesen (Liest nur bis Zeilenende (\n) oder (\0))

	DateiString.Trim(); // Eventulle andere Sonderzeichen entfenen (z.b. Tabulator) (\t))

    if(DateiString.CompareNoCase(BenutzerString) != 0) // Strings vergleichen
	{
		AfxMessageBox(&quot;Keine übereinstimmung !&quot;);
	} else AfxMessageBox(&quot;Übereinstimmung !&quot;);
</code></pre>
<p>P.S.<br />
Es fehlen natürlich noch wichtige Dinge wie überprüfung ob die Datei existiert und ob gelesen wurde etc. (bevor ich wieder geschlagen werde)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/399753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/399753</guid><dc:creator><![CDATA[HeSch]]></dc:creator><pubDate>Fri, 21 Nov 2003 16:35:05 GMT</pubDate></item><item><title><![CDATA[Reply to CString vergleichen on Mon, 24 Nov 2003 07:55:55 GMT]]></title><description><![CDATA[<p>hallo,<br />
danke erstmal für den lösungsansatz.<br />
jedoch liest er ja nur die erste zeile ein.<br />
ich brauch aber was für die ganze textdatei !<br />
mfg<br />
fevernova <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/401063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/401063</guid><dc:creator><![CDATA[fevernova]]></dc:creator><pubDate>Mon, 24 Nov 2003 07:55:55 GMT</pubDate></item><item><title><![CDATA[Reply to CString vergleichen on Mon, 24 Nov 2003 08:00:37 GMT]]></title><description><![CDATA[<p>Bau doch eine Schleife drum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/401065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/401065</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Mon, 24 Nov 2003 08:00:37 GMT</pubDate></item><item><title><![CDATA[Reply to CString vergleichen on Mon, 24 Nov 2003 08:37:15 GMT]]></title><description><![CDATA[<p>wie kann ich das am besten lösen ?<br />
ReadString liest ja nur bis zeilenende.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/401075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/401075</guid><dc:creator><![CDATA[fevernova]]></dc:creator><pubDate>Mon, 24 Nov 2003 08:37:15 GMT</pubDate></item><item><title><![CDATA[Reply to CString vergleichen on Mon, 24 Nov 2003 08:44:23 GMT]]></title><description><![CDATA[<p>Guck mal, das sagt die MSDN dazu:</p>
<blockquote>
<p>The CFile and CStdioFile classes may throw a CFileException when certain error conditions occur; however, these classes do not throw a CFileException when the end of file is reached. If an application using the CFile or CStdioFile class needs to check for the end-of-file condition when reading from a file, the return values from the Read() and ReadString() member functions should be checked.</p>
<p>CFile::Read returns the actual number of bytes read. If this number is less than the bytes requested, then the end of file has been reached.</p>
<p>CStdioFile::ReadString returns a <strong>NULL</strong> pointer when <strong>the end of file has been reached</strong>.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/401078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/401078</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Mon, 24 Nov 2003 08:44:23 GMT</pubDate></item><item><title><![CDATA[Reply to CString vergleichen on Mon, 24 Nov 2003 09:04:42 GMT]]></title><description><![CDATA[<p>Vergelich jewde Zeile einzeln :</p>
<pre><code>CString BenutzerString = &quot;12345&quot;; // Die eingabe des Benutzers
 CString DateiString; // Hier kommt die Zahl aus der Datei rein

 CStdioFile Datei; // Die Datei

	Datei.Open(&quot;schlüssel.txt&quot;, CFile::modeRead);	// Datei öffnen zum Lesen

	while(NULL != Datei.ReadString(DateiString))	// Solange lesen bis Dateiende
	{
		DateiString.Trim(); // Eventulle andere Sonderzeichen entfenen (z.b. Tabulator) (\t))

    		if(DateiString.CompareNoCase(BenutzerString) != 0) // Strings vergleichen
		{
			AfxMessageBox(&quot;Keine übereinstimmung !&quot;);
		} else AfxMessageBox(&quot;Übereinstimmung !&quot;);

	}
</code></pre>
<p>Vergleich Alle Zeilen in einem String</p>
<pre><code>CString BenutzerString = &quot;12345&quot;; // Die eingabe des Benutzers
 CString DateiString; // Hier kommt die Zahl aus der Datei rein
 CString AlleZeilen // Komplette datei einlesen
 CStdioFile Datei; // Die Datei

	Datei.Open(&quot;schlüssel.txt&quot;, CFile::modeRead);	// Datei öffnen zum Lesen

	while(NULL != Datei.ReadString(DateiString))	// Solange lesen bis Dateiende
	{
		DateiString.Trim(); // Eventulle andere Sonderzeichen entfenen (z.b. Tabulator) (\t))
		AlleZeile.Append(DateiString.GetString()) // anhängen
	}

	if(AlleZeilen.CompareNoCase(BenutzerString) != 0) // Strings vergleichen
	{
		AfxMessageBox(&quot;Keine übereinstimmung !&quot;);
	} else AfxMessageBox(&quot;Übereinstimmung !&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/401087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/401087</guid><dc:creator><![CDATA[HeSch]]></dc:creator><pubDate>Mon, 24 Nov 2003 09:04:42 GMT</pubDate></item><item><title><![CDATA[Reply to CString vergleichen on Mon, 24 Nov 2003 09:15:50 GMT]]></title><description><![CDATA[<p>habs anders gelöst mit fscanf.<br />
da wird CR weggelassen.<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
mfg<br />
fevernova</p>
]]></description><link>https://www.c-plusplus.net/forum/post/401093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/401093</guid><dc:creator><![CDATA[fevernova]]></dc:creator><pubDate>Mon, 24 Nov 2003 09:15:50 GMT</pubDate></item></channel></rss>