<?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 Textdateien]]></title><description><![CDATA[<p>Hallo liebe Forumsmitglieder,<br />
ich schau schon seit längerem hier rein und hole mit immer wieder Anregungen für verschiedene Bereiche, doch nun hab ich selber ein Problem.<br />
Ich erlerne gerade Visual C++ 2005 und will da folgendes machen.<br />
Ich möchte eine Textdatei einlesen, sagen wir sie hat 1000 Zeilen. Diese Textdatei(.txt) soll Zeilenweise eingelesen werden und dann erstmal in einer Listbox, oder ähnlichem ausgegeben werden. Ich hab mir auch schon ein GUI mit Menüleiste und n paar Grundfunktionen gebaut.<br />
Das einlesen der Datei mach ich wie folgend:</p>
<pre><code>FILE * data;
	data = fopen(&quot;c:\\test.txt&quot;, &quot;r+w&quot;);
	char acTmp[255];

	while (!feof(data))
	{	
		fgets(acTmp,255,data);

		if (!feof(data))
	           {
			//was mit den gespeicherten Zeilen machen
	           }
        }

fclose(data);
</code></pre>
<p>Allerdings hab ich Probleme mit dem Pfad der Datei, der will diese nicht finden, obwohl sie da ist.<br />
Außerdem weiß ich nicht, wie ich dann die zwischengespeicherten Zeilen in die Listbox ausgebe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich wäre über die Hilfe von euch super glücklich <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="🙂"
    /><br />
Grüße<br />
TheRod</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180365/problem-mit-textdateien</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 08:17:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180365.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 01 May 2007 20:07:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Textdateien on Tue, 01 May 2007 21:25:12 GMT]]></title><description><![CDATA[<p>Hallo liebe Forumsmitglieder,<br />
ich schau schon seit längerem hier rein und hole mit immer wieder Anregungen für verschiedene Bereiche, doch nun hab ich selber ein Problem.<br />
Ich erlerne gerade Visual C++ 2005 und will da folgendes machen.<br />
Ich möchte eine Textdatei einlesen, sagen wir sie hat 1000 Zeilen. Diese Textdatei(.txt) soll Zeilenweise eingelesen werden und dann erstmal in einer Listbox, oder ähnlichem ausgegeben werden. Ich hab mir auch schon ein GUI mit Menüleiste und n paar Grundfunktionen gebaut.<br />
Das einlesen der Datei mach ich wie folgend:</p>
<pre><code>FILE * data;
	data = fopen(&quot;c:\\test.txt&quot;, &quot;r+w&quot;);
	char acTmp[255];

	while (!feof(data))
	{	
		fgets(acTmp,255,data);

		if (!feof(data))
	           {
			//was mit den gespeicherten Zeilen machen
	           }
        }

fclose(data);
</code></pre>
<p>Allerdings hab ich Probleme mit dem Pfad der Datei, der will diese nicht finden, obwohl sie da ist.<br />
Außerdem weiß ich nicht, wie ich dann die zwischengespeicherten Zeilen in die Listbox ausgebe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich wäre über die Hilfe von euch super glücklich <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="🙂"
    /><br />
Grüße<br />
TheRod</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277172</guid><dc:creator><![CDATA[TheRod]]></dc:creator><pubDate>Tue, 01 May 2007 21:25:12 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 06:31:40 GMT]]></title><description><![CDATA[<p>Bist Du sicher, dass Du auch Schreibrechte hast?<br />
Was sagt errno nach dem fopen.</p>
<p>Einfacher ist es einfach während dem lesen, sofort die Datei in das Edit Control, oder die Listbox auszugeben (CListBox::AddString).</p>
<p>Dein Code lässt sich einfacher schreiben, die ganze feof Testerei kan entfallen:</p>
<pre><code class="language-cpp">while (fgets(...))
{
// Mach was mit den daten
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1277286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277286</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 02 May 2007 06:31:40 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 07:42:02 GMT]]></title><description><![CDATA[<p>Ich hab das jetzt geändert und bekomme nun beio fgets den Error C2660:<br />
function does not take 1 parameters.</p>
<pre><code>FILE * data;
	data = fopen(&quot;c:\\test.txt&quot;, &quot;r+&quot;);
	char acTmp[255];
	while (fgets(data))
	{  

		 //mach was mit der ausgelesenen Zeile  

	}
	fclose(data);
</code></pre>
<p>Was läuft denn da falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277309</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277309</guid><dc:creator><![CDATA[TheRod]]></dc:creator><pubDate>Wed, 02 May 2007 07:42:02 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 07:43:21 GMT]]></title><description><![CDATA[<p>Du mußt schon alle Parameter für fgets() angeben <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>PS: Ein Vorschlag von mir: Verwende lieber fstreams anstelle der C Dateifunktionen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277310</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 02 May 2007 07:43:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 08:01:48 GMT]]></title><description><![CDATA[<p>Ja klar, das hatte ich ganz vergessen. Danke<br />
Aber wie übergebe ich nun die Zeilen an das Listenfeld?<br />
Ich hab für das Listenfeld auch schon eine Variable definiert m_cltLISTOUTPUT.<br />
Wie gesagt, ich bin da noch super neu drin und ich verstehe das gerade erst so langsam <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="🙂"
    /><br />
Und was hat das mit dem fstream aufsich?</p>
<p>Vielen dank für die weitere Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277322</guid><dc:creator><![CDATA[TheRod]]></dc:creator><pubDate>Wed, 02 May 2007 08:01:48 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 08:12:13 GMT]]></title><description><![CDATA[<p>Das einfachste ist:<br />
- Du erzeugst eine Dialog Anwednung mit dem Wizard.<br />
- Packst eine ListBox in den Dialog.<br />
- Fügst eine Memeber Variable für die Listbox<br />
- Packst den Code zum Lesen nach OnInitDialog<br />
- Fügst jede Zeile mit AddString in die Listbox.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277328</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 02 May 2007 08:12:13 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 08:37:48 GMT]]></title><description><![CDATA[<p>Ich hab jetzt das jetzt alles eingerichtet und den Code nach meinem Verständniss aufgeschrieben.<br />
Er kompiliert auch ohne Probleme durch.<br />
Doch wenn ich die Option in meiner Menü-Leiste aufrufe bekomme ich den folgenden Fehler:</p>
<p>Debug Assertion Failes<br />
file: fgets.c<br />
Line 60<br />
Espression : str != NULL</p>
<p>Wenn ich Meldung dann ignoriere dann sagt das Programm mir:<br />
Memory could not be read.</p>
<p>Hab ich im Code noch was falsch gemacht?</p>
<pre><code>FILE * data;
	data = fopen(&quot;c:\\test.txt&quot;, &quot;r+&quot;);
	char acTmp[255];
	while (fgets(acTmp,'\n',data))
	{  

		 m_ctlLISTOUTPUT.AddString(&quot;acTmp&quot;); 

	}
	fclose(data);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1277338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277338</guid><dc:creator><![CDATA[TheRod]]></dc:creator><pubDate>Wed, 02 May 2007 08:37:48 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 08:42:15 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> der fgets()-Aufruf in deinem ersten Beispiel war doch schon in Ordnung - warum bastelst du da noch an den Parametern herum?</p>
<p>(und nebenbei wird dieser Code dir die Ausgabeliste mit &quot;acTmp&quot;-Einträgen füllen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277340</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 02 May 2007 08:42:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 08:56:38 GMT]]></title><description><![CDATA[<p>Hmm, okay. Dann nochmal.<br />
Ich hab das mit den Parametern wieder geändert und es sieht jetzt so aus:</p>
<pre><code>while (fgets(acTmp,255,data))
	{  
		m_ctlLISTOUTPUT.AddString(&quot;acTmp&quot;); 
	}
</code></pre>
<p>Wenn ich die Parameter nicht so angebe, dann kommt da wieder der C2660 Error, wie oben.<br />
Ich dachte, dass in dem acTemp die einzelnen Zeilen zwischen gespeichert werden?!<br />
Oh man, langsam bin ich ein wenig verwirrt <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="😕"
    /><br />
Könntet ihr mir vieleicht mit einem Codeschnipsel auf die Sprünge helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277349</guid><dc:creator><![CDATA[TheRod]]></dc:creator><pubDate>Wed, 02 May 2007 08:56:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 09:06:09 GMT]]></title><description><![CDATA[<p>Erstmal solltest du die Anführungszeichen bei dem AddString()-Aufruf weglassen (wir sind hier nicht bei PHP).</p>
<p>Zweitens: Ja, in acTemp landet die aktuelle Eingabezeile, die du auch auswerten kannst. Aber eventuell solltest du trotz allem eine Sicherheitsabfrage einbauen, ob die Datei korrekt geöffnet werden konnte.</p>
<p>Drittens: Auch wenn ich mich widerhole - nimm lieber fstream's (oder CFile):</p>
<pre><code class="language-cpp">ifstream data(&quot;...&quot;);
string zeile;
while(getline(data,zeile))
{
  m_ctlLISTOUTPUT.AddString(zeile.c_str());
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1277356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277356</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 02 May 2007 09:06:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 10:02:18 GMT]]></title><description><![CDATA[<p>Oder:</p>
<pre><code>// Grundidee **OHNE** jegliche Fehlerbehandlung
CFile inFile(&quot;c:/test.txt&quot;, CFile::modeRead);
CArchive archive(&amp;inFile, CArchive::load, inFile.GetLength());
CString line;
while (archive.ReadString(line))
{
    m_ctlLISTOUTPUT.AddString(line);
}
archive.Close();
inFile.Close();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1277408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277408</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Wed, 02 May 2007 10:02:18 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 10:18:15 GMT]]></title><description><![CDATA[<p>Also nochmals danke das ihr so viel Geduld mit mir habe <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="🙂"
    /><br />
Ich hab das ganze, wie in deinem Code nach ifstream umgestellt und muuste mich da eine Menge mit Libs herumschlagen, bis die alle korrekt eingebunden waren.<br />
Allerdings habe ich dann einen Fehler bekommen der sagt, dass er die MSVCP60D.dll nicht findet. Ich habe diese DLL auch in den Ordner meiner .exe gelegt aber er will die exe immer noch nicht ausführen.<br />
Ich hab dann mal von Debug auf Release umgestellt und dann funzt das.<br />
Das mit der Listbox etc. hab ich jetzt ja auch verstanden, aber irgendwie gibt er trotzdem nix aus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Der Pfad der Textdatei lautet:<br />
<strong>H:\My Databases\Trace Projekt\Debug</strong> und in dem Debugordner liegt dann die .txt.<br />
Hier nochmal mein Code</p>
<pre><code>ifstream data(&quot;h:\\\Test.txt&quot;); 
	string  zeile; 
	while(getline(data,zeile)) 
	{ 
		m_ctlLISTOUTPUT.AddString(zeile.c_str()); 
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1277425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277425</guid><dc:creator><![CDATA[TheRod]]></dc:creator><pubDate>Wed, 02 May 2007 10:18:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 10:22:20 GMT]]></title><description><![CDATA[<p>Dann mußt du auch den kompletten Pfad angeben - du versuchst die Datei 'test.txt' im Stammverzeichnis von Laufwerk H: zu öffnen.<br />
(Alternativ kannst du auch einen relativen Pfad angeben - wenn du das &quot;H:\&quot; weglässt, sucht das Programm die Datei im aktuellen Arbeitsverzeichnis.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277428</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 02 May 2007 10:22:20 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 11:16:52 GMT]]></title><description><![CDATA[<p><strong>h:\\\Test.txt</strong><br />
Wird zu<br />
<strong>h:\&lt;tabctrl-Zeichen&gt;est.txt</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277462</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 02 May 2007 11:16:52 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Textdateien on Wed, 02 May 2007 14:56:13 GMT]]></title><description><![CDATA[<p>Ich werde da nochmal n bissel rumprobieren.<br />
Der Kompieler meckert da irgendwie, dass Addstring die Konvertierung des Parameters 1 von 'const char *' in 'LPCTSTR' nicht möglich macht.</p>
<p>Vielen Dank für die Hilfe <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/1277624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277624</guid><dc:creator><![CDATA[TheRod]]></dc:creator><pubDate>Wed, 02 May 2007 14:56:13 GMT</pubDate></item></channel></rss>