<?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[Probleme bei Durchsuchen von Textdateien]]></title><description><![CDATA[<p>Liebe Programmierergemeinde,</p>
<p>ich möchte normalerweise meine Probleme selbst lösen.<br />
Um das Programmiererdenken zu stärken, sollte man selbst drauf kommen.<br />
Aber ich komm einfach nicht weiter, es macht einfach nicht klick.<br />
Ich hoffe,daß mir jemand von Euch weiter helfen kann.<br />
Wollte ein einfaches Script, zur Suche in Testdateien, schreiben.<br />
Man gibt einen String an(momentan noch ein einzelnes Zeichen),<br />
der/ das in der Textdatei gesucht werden soll.<br />
Es wird immer eine Zeile in einen Puffer(Array) eingelesen<br />
und die dann mit einer for-Schlaufe durchlaufen und mit dem Zeichen verglichen.</p>
<p>==========================================================<br />
Programmcode:</p>
<pre><code class="language-cpp">ifstream einlesen(ptr_datei, ios::binary);

		if(!einlesen)
		{
			cout &lt;&lt; &quot;Konnte die Datei: &quot; &lt;&lt; ptr_datei &lt;&lt; &quot; nicht&quot; &lt;&lt; &quot;\x94&quot; &lt;&lt; &quot;ffnen&quot; &lt;&lt; endl &lt;&lt; endl;
			cout &lt;&lt; &quot;Eventuell nicht vorhanden&quot; &lt;&lt; endl &lt;&lt; endl;
			return 1;

		}
		else
		{
			cout &lt;&lt; &quot;\t &quot; &lt;&lt; &quot;\x99&quot; &lt;&lt; &quot;ffnen der Datei: &quot; &lt;&lt; &quot;'&quot; &lt;&lt; ptr_datei &lt;&lt; &quot;'&quot; &lt;&lt; &quot; war erfolgreich &quot; &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;
		}

	while(!einlesen.eof())
	{

		einlesen.getline(puffer, sizeof(puffer));

		int b = sizeof(puffer);
		int w = wort.length();
		for(i=0; i &lt; b; i++)
		{

			if(puffer[i] == wort[j])
			{					

				int s = i + 1;
				cout &lt;&lt; &quot;============================================&quot; &lt;&lt; endl;
				cout &lt;&lt; &quot;\tString gefunden&quot; &lt;&lt; &quot;!&quot; &lt;&lt; endl;
				cout &lt;&lt; &quot;\tZeile: &quot; &lt;&lt; zeile &lt;&lt; endl;
				cout &lt;&lt; &quot;\tSpalte: &quot; &lt;&lt; s &lt;&lt; endl;
				cout &lt;&lt; &quot;============================================&quot;;
				cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;

			}  		

		}

		zeile++;

	}

	einlesen.close();
	//return pos;
}

================================================
</code></pre>
<blockquote>
<h1>=========================================<br />
zu durchsuchende Textdatei(Zeile):<br />
(1)markole<br />
(2)kmqqo<br />
(3)g<br />
(4)</h1>
<p>gesucht wird nach q!<br />
gefunden in:<br />
Z:2, S:3; Z:2, S:4<br />
Z:3, S:4 und Z:4, S:4</p>
</blockquote>
<p>Was mach ich falsch?<br />
in Zeile 4 steht nichts, und in 3 nur ein Zeichen.<br />
Wenn ich ein Zeichen am Zeilenanfang suche, geht es nicht schief.<br />
Scheint mir, daß ab dem dritten Zeichen die Schlaufe nicht auf 0 zurück springt.<br />
Lass ich nach 'm' suchen, kommt als Ergebnis: Z: 1, S: 1 und Z: 2, S: 2<br />
Wo liegt mein Problem?<br />
Ist es der Zeichensatz?<br />
Problem bleibt bestehn, auch wenn ich die Zeilenumbrüche<br />
und das Format geändert werden.<br />
Hoffe, daß mir jemand helfen kann.<br />
Danke, Marko</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/158650/probleme-bei-durchsuchen-von-textdateien</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 04:33:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/158650.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 07 Sep 2006 10:17:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 12:18:23 GMT]]></title><description><![CDATA[<p>Liebe Programmierergemeinde,</p>
<p>ich möchte normalerweise meine Probleme selbst lösen.<br />
Um das Programmiererdenken zu stärken, sollte man selbst drauf kommen.<br />
Aber ich komm einfach nicht weiter, es macht einfach nicht klick.<br />
Ich hoffe,daß mir jemand von Euch weiter helfen kann.<br />
Wollte ein einfaches Script, zur Suche in Testdateien, schreiben.<br />
Man gibt einen String an(momentan noch ein einzelnes Zeichen),<br />
der/ das in der Textdatei gesucht werden soll.<br />
Es wird immer eine Zeile in einen Puffer(Array) eingelesen<br />
und die dann mit einer for-Schlaufe durchlaufen und mit dem Zeichen verglichen.</p>
<p>==========================================================<br />
Programmcode:</p>
<pre><code class="language-cpp">ifstream einlesen(ptr_datei, ios::binary);

		if(!einlesen)
		{
			cout &lt;&lt; &quot;Konnte die Datei: &quot; &lt;&lt; ptr_datei &lt;&lt; &quot; nicht&quot; &lt;&lt; &quot;\x94&quot; &lt;&lt; &quot;ffnen&quot; &lt;&lt; endl &lt;&lt; endl;
			cout &lt;&lt; &quot;Eventuell nicht vorhanden&quot; &lt;&lt; endl &lt;&lt; endl;
			return 1;

		}
		else
		{
			cout &lt;&lt; &quot;\t &quot; &lt;&lt; &quot;\x99&quot; &lt;&lt; &quot;ffnen der Datei: &quot; &lt;&lt; &quot;'&quot; &lt;&lt; ptr_datei &lt;&lt; &quot;'&quot; &lt;&lt; &quot; war erfolgreich &quot; &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;
		}

	while(!einlesen.eof())
	{

		einlesen.getline(puffer, sizeof(puffer));

		int b = sizeof(puffer);
		int w = wort.length();
		for(i=0; i &lt; b; i++)
		{

			if(puffer[i] == wort[j])
			{					

				int s = i + 1;
				cout &lt;&lt; &quot;============================================&quot; &lt;&lt; endl;
				cout &lt;&lt; &quot;\tString gefunden&quot; &lt;&lt; &quot;!&quot; &lt;&lt; endl;
				cout &lt;&lt; &quot;\tZeile: &quot; &lt;&lt; zeile &lt;&lt; endl;
				cout &lt;&lt; &quot;\tSpalte: &quot; &lt;&lt; s &lt;&lt; endl;
				cout &lt;&lt; &quot;============================================&quot;;
				cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;

			}  		

		}

		zeile++;

	}

	einlesen.close();
	//return pos;
}

================================================
</code></pre>
<blockquote>
<h1>=========================================<br />
zu durchsuchende Textdatei(Zeile):<br />
(1)markole<br />
(2)kmqqo<br />
(3)g<br />
(4)</h1>
<p>gesucht wird nach q!<br />
gefunden in:<br />
Z:2, S:3; Z:2, S:4<br />
Z:3, S:4 und Z:4, S:4</p>
</blockquote>
<p>Was mach ich falsch?<br />
in Zeile 4 steht nichts, und in 3 nur ein Zeichen.<br />
Wenn ich ein Zeichen am Zeilenanfang suche, geht es nicht schief.<br />
Scheint mir, daß ab dem dritten Zeichen die Schlaufe nicht auf 0 zurück springt.<br />
Lass ich nach 'm' suchen, kommt als Ergebnis: Z: 1, S: 1 und Z: 2, S: 2<br />
Wo liegt mein Problem?<br />
Ist es der Zeichensatz?<br />
Problem bleibt bestehn, auch wenn ich die Zeilenumbrüche<br />
und das Format geändert werden.<br />
Hoffe, daß mir jemand helfen kann.<br />
Danke, Marko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1132858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1132858</guid><dc:creator><![CDATA[da.genius]]></dc:creator><pubDate>Thu, 07 Sep 2006 12:18:23 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 11:23:09 GMT]]></title><description><![CDATA[<p>Ich habe Deinen Code jetzt nicht durchgesehen, aber hast Du es mal mit einem Schrittweisen Debugging versucht und dir in jedem Schritt die Veränderungen in den Variablen angesehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1132914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1132914</guid><dc:creator><![CDATA[saruman*work]]></dc:creator><pubDate>Thu, 07 Sep 2006 11:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 12:05:47 GMT]]></title><description><![CDATA[<p>habe es noch nicht konzentriert versucht.<br />
Beim Debuggen wollte der immer durch die Bibliotheken.<br />
Dann waren relativ viele Dateien offen und ich habe den Überblick verloren.<br />
Werde aber wahrscheinlich nicht darum kommen, heute Abend mal die Sache in Ruhe mit dem Debuger zu versuchen.<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1132952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1132952</guid><dc:creator><![CDATA[da.genius]]></dc:creator><pubDate>Thu, 07 Sep 2006 12:05:47 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 12:16:22 GMT]]></title><description><![CDATA[<p>fällt mir gerade noch ein.<br />
Wenn ich versucht habe, durch Visual studio .net das Programm zu testen(F5 oder F7, bin mir nicht sicher),<br />
konnte ich nie auf die Textdatei zugreifen.<br />
Bin mir nicht sicher, ob es mit debuggen überhaupt funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1132965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1132965</guid><dc:creator><![CDATA[da.genius]]></dc:creator><pubDate>Thu, 07 Sep 2006 12:16:22 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 12:34:32 GMT]]></title><description><![CDATA[<p>da.genius schrieb:</p>
<blockquote>
<p>Beim Debuggen wollte der immer durch die Bibliotheken.</p>
</blockquote>
<p>Um das zu verhindern, mußt du anstatt <em>StepInto</em> <em>StepOver</em>, oder wie auch<br />
immer das in deimen Debugge heißt, verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1132985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1132985</guid><dc:creator><![CDATA[Javaner]]></dc:creator><pubDate>Thu, 07 Sep 2006 12:34:32 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 12:41:10 GMT]]></title><description><![CDATA[<p>Im übrigen ist deine Abrage mehr als merkwürdig.</p>
<pre><code>for(i=0; i &lt; b; i++) { 
    if(puffer[i] == wort[j])
</code></pre>
<p>Wo bitte kommt dieses <em>j</em> denn her? <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="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1132988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1132988</guid><dc:creator><![CDATA[Javaner]]></dc:creator><pubDate>Thu, 07 Sep 2006 12:41:10 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 14:56:31 GMT]]></title><description><![CDATA[<p>Wo kommt was her?<br />
Na, da geht es durchs Array, per Index(mit der for-Schlaufe).<br />
Und wenn eine Übereinstimmung geststeht, wird ein Text ausgegeben.<br />
Ich habe auch nur die Funktion der Überprüfung ins Forum gehackt.<br />
Zuvor werden andere Funktionen abgearbeitet, die den Test-File und den zu suchenden<br />
String (im Moment noch einzelnen char) einlesen/ abfragen.<br />
Merci für den Tip: StepInto StepOver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133121</guid><dc:creator><![CDATA[da.genius]]></dc:creator><pubDate>Thu, 07 Sep 2006 14:56:31 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 15:01:03 GMT]]></title><description><![CDATA[<p>Anfangs war es mal ein Sting der in einem Textfile gesucht werden sollte.<br />
nach ein paar Problemen habe ich daraus ein einzelnes char gemacht.<br />
Ich habe j = 0 gesetzt.<br />
Somit wird nach einem einzelnen Zeichen gesucht.<br />
J=0 und wird auch nicht verändert.<br />
Habe mir auch schon die angegenen/ zu suchenden Angaben ausspucken lassen.<br />
Fehler von wegen Pointer oder so, gibt es, meiner Ansicht nach, keine.<br />
Das ist ja auch nicht ganz das Problem.<br />
Es funktioniert ja mehr oder weniger.<br />
Problem ist, daß ich an Stellen einen Treffer kassiere,<br />
wo gar kein Zeichen steht, siehe Bsp.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133129</guid><dc:creator><![CDATA[da.genius]]></dc:creator><pubDate>Thu, 07 Sep 2006 15:01:03 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 15:26:07 GMT]]></title><description><![CDATA[<p>Wozu brauchst du eigentlich die Variable '<strong>w</strong>', die du kurz vor der for - Schleife deklarierst?</p>
<pre><code>[cpp]int w = wort.length();
for(i=0; i &lt; b; i++)
   {
   // ...         
   }[/cpp]
</code></pre>
<p>In dem gezeigten Quellcode wird sie jedenfalls nicht benutzt.</p>
<p>Außerdem definierst du Variablen, ohne sie sinnvoll zu verwenden:</p>
<pre><code>[cpp]einlesen.getline(puffer, sizeof(puffer));

int b = sizeof(puffer);[/cpp]
</code></pre>
<p>Wieso definierst du 'b' nicht vor der 'getline()' - Anweisung?</p>
<p>Wäre auf jeden Fall praktischer <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>
<p>Auch die Variablennamen sind auf den ersten Blick nicht nachvollziehbar,<br />
von daher: Sinnvollere Typbezeichner benutzen <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>Grüße, Bobby - Karle</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133149</guid><dc:creator><![CDATA[Bobby - Karle]]></dc:creator><pubDate>Thu, 07 Sep 2006 15:26:07 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 15:30:32 GMT]]></title><description><![CDATA[<p>da.genius schrieb:</p>
<blockquote>
<p>Wo kommt was her?</p>
</blockquote>
<p>Die Variable j in <em>if (puffer[i] == wort[j])</em> taucht nur an<br />
eben dieser Stelle auf. <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=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133153</guid><dc:creator><![CDATA[Javaner]]></dc:creator><pubDate>Thu, 07 Sep 2006 15:30:32 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 15:51:27 GMT]]></title><description><![CDATA[<p>Kann es sein, dass der Puffer bei getline nicht geleert wird? Die Zeilen, die du einliest, werden immer kürzen. Es kann also sein, dass der Inhalt der Zeile 3 zB noch im Puffer drin steht, da er in Zeile 4 nur die ersten Buchstaben überschreibt. Der Rest bleibt und deine Funktion erkennt die 'q's aus den Überbleibseln. Probier mal den Puffer bei jedem neuen Zeilendurchlauf zu löschen. Zwar verstehe ich nicht so ganz, warum er das erste q nicht auch noch gespeichert halt, aber einen Versuch ist es wert. Oder lass die mal immer den Inhalt von Puffer ausgeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133171</guid><dc:creator><![CDATA[codekasper]]></dc:creator><pubDate>Thu, 07 Sep 2006 15:51:27 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Thu, 07 Sep 2006 17:21:02 GMT]]></title><description><![CDATA[<p>Dieser &quot;Code-Wirrwarr&quot; ist mir klar.<br />
Dies sind Überbleibsel vom Testen.<br />
Zuerst fing ich an, komplette Strings zu suchen.<br />
Da schon getestet.<br />
Dann hatte ich den Fehler, daß mir Ergebnisse zurück geliefert wurden,<br />
die gar nicht vorhanden waren(plus die richtigen Ergebnisse).<br />
Dann bin ich zurück auf ein einzelnes char.(deshalb wort[0] oder wort[j].</p>
<p>Die Namen deshalb, weil ich auf die schnelle beim Testen keine langen Namen<br />
benutzen möchte und auch beim Nachdenken von Namen kein Jahre verweilen möchte.<br />
Aber ich denke, daß auch dies für den compiler kein Problem sien dürfte, oder?<br />
Das w ist das Überblebsel vom &quot;manuellen&quot; Durchsuchen mit ganzen Strings.<br />
Da wollte ich die Größe des angegebenen, zu suchenden, strings wissen.<br />
Aber wie gesagt, ich denke nicht, daß das mein Problem ist, oder?<br />
Vielen Dank für die Mühe, mein Wirrwarr auseinander zu fleddern:)</p>
<p>Vielen vielen Dank an den Codekasper:):)<br />
Du bist ein Schatz!!!<br />
(bitte nicht falsch verstehen)<br />
Daran habe ich noch nicht gedacht.<br />
Wußte ja, daß mir noch nicht alles klar war.<br />
Hab es zwar noch nicht getestet, klint aber mehr als nur logsich.<br />
Wen der Puffer nicht gelöscht wird, kann es ungefähr hinkommen.<br />
Er bringt nämlich ab da jede Zeile mit immer derselben Spalte mit einem Treffer.<br />
Vielleicht noch eine Frage:<br />
Wie lösche ich denn am geschicktesten den puffer?<br />
Merci beaucoup pour tous!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133213</guid><dc:creator><![CDATA[da.genius]]></dc:creator><pubDate>Thu, 07 Sep 2006 17:21:02 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Durchsuchen von Textdateien on Fri, 08 Sep 2006 09:20:28 GMT]]></title><description><![CDATA[<p>Am geschicktesten ist es wohl zu ignorieren, daß da noch etwas im Puffer steht:</p>
<pre><code class="language-cpp">int b=strlen(puffer);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1133511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133511</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 08 Sep 2006 09:20:28 GMT</pubDate></item></channel></rss>