<?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[Zeilenumbruch beim Auslesen aus Datei entferenen]]></title><description><![CDATA[<p>Hallo zusammen,<br />
damit die einzelnen Daten beim Schreiben in eine Datei untereinander stehen habe ich mit jeweils mit fputs(&quot;\n&quot;,MeineDatei); einen Zeilenumbruch eingefügt. Das klappt soweit ganz gut, die Datei sieht genau so aus, wie ich es haben möchte.<br />
Beim Einlesen der Daten wird allerdings das Retung mit eingelesen. Jetzt habe ich das Problem, dass bei erneutem Speichern hinter jedem ein zwei Returns stehen.<br />
Sprich: nach dem Einlesen muss das Return entfernt werden. Bis jetzt habe ich noch keine funktionierende Lösung gefunden. Wer kann helfen?</p>
<pre><code>case '8'://write dataset to file
     gPos=1;
     MeineDatei = fopen (&quot;D:\\testDB.txt&quot;, &quot;w+&quot;);
     for (gPos=1; gPos&lt;21; gPos++)
     {
	fputs(AdrDB[gPos].Name, MeineDatei);
	fputs(&quot;\n&quot;,MeineDatei); //Zeilenumschaltung
	fputs(AdrDB[gPos].Strasse, MeineDatei);
	fputs(&quot;\n&quot;,MeineDatei);
	fputs(AdrDB[gPos].Ort, MeineDatei);			
	fputs(&quot;\n&quot;,MeineDatei);
     }
</code></pre>
<p>Der Nachfolgende Code soll die Datei einlesen funktioniert auch, aber das Return ist wird immer mit in das Array geschrieben.</p>
<pre><code>case '9'://import datasets from file to current session
 gPos=1;
 FILE *MeineDatei;
 MeineDatei = fopen (&quot;D:\\testDB.txt&quot;, &quot;r&quot;);
 if (MeineDatei==NULL)
 {
 system(&quot;cls&quot;);
 cout&lt;&lt;&quot;Fehler beim Lesen.&quot;&lt;&lt;endl;
 cout&lt;&lt;&quot;Return -&gt; zur\x81 \bck zum Hauptmen\x81!&quot;&lt;&lt;endl;
 getchar();
 }
 else
 {	
 for (gPos=1; gPos&lt;21; gPos++)
 {
 system(&quot;cls&quot;);
 cout&lt;&lt;&quot;Datei erfolgreich ge\x94 \bffnet&quot;&lt;&lt;endl;
 fgets(AdrDB[gPos].Name, 40, MeineDatei);
 //hier muss irgendwie das Return gelöscht werden oder?
 fgets(AdrDB[gPos].Strasse, 40, MeineDatei);
 fgets(AdrDB[gPos].Ort, 40, MeineDatei);
 }
 if (gPos==21)
 {
 system(&quot;cls&quot;);
 cout&lt;&lt;&quot;alle Datens\x84tze testDB.txt in aktuelle Sitzung geladen.&quot;&lt;&lt;endl;
 cout&lt;&lt;&quot;Return -&gt; zur\x81 \bck zum Hauptmen\x81!&quot;;
 getchar();
 fclose(MeineDatei);
 }
}
break;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/254718/zeilenumbruch-beim-auslesen-aus-datei-entferenen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 16:46:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254718.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Nov 2009 06:38:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeilenumbruch beim Auslesen aus Datei entferenen on Fri, 20 Nov 2009 06:38:35 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
damit die einzelnen Daten beim Schreiben in eine Datei untereinander stehen habe ich mit jeweils mit fputs(&quot;\n&quot;,MeineDatei); einen Zeilenumbruch eingefügt. Das klappt soweit ganz gut, die Datei sieht genau so aus, wie ich es haben möchte.<br />
Beim Einlesen der Daten wird allerdings das Retung mit eingelesen. Jetzt habe ich das Problem, dass bei erneutem Speichern hinter jedem ein zwei Returns stehen.<br />
Sprich: nach dem Einlesen muss das Return entfernt werden. Bis jetzt habe ich noch keine funktionierende Lösung gefunden. Wer kann helfen?</p>
<pre><code>case '8'://write dataset to file
     gPos=1;
     MeineDatei = fopen (&quot;D:\\testDB.txt&quot;, &quot;w+&quot;);
     for (gPos=1; gPos&lt;21; gPos++)
     {
	fputs(AdrDB[gPos].Name, MeineDatei);
	fputs(&quot;\n&quot;,MeineDatei); //Zeilenumschaltung
	fputs(AdrDB[gPos].Strasse, MeineDatei);
	fputs(&quot;\n&quot;,MeineDatei);
	fputs(AdrDB[gPos].Ort, MeineDatei);			
	fputs(&quot;\n&quot;,MeineDatei);
     }
</code></pre>
<p>Der Nachfolgende Code soll die Datei einlesen funktioniert auch, aber das Return ist wird immer mit in das Array geschrieben.</p>
<pre><code>case '9'://import datasets from file to current session
 gPos=1;
 FILE *MeineDatei;
 MeineDatei = fopen (&quot;D:\\testDB.txt&quot;, &quot;r&quot;);
 if (MeineDatei==NULL)
 {
 system(&quot;cls&quot;);
 cout&lt;&lt;&quot;Fehler beim Lesen.&quot;&lt;&lt;endl;
 cout&lt;&lt;&quot;Return -&gt; zur\x81 \bck zum Hauptmen\x81!&quot;&lt;&lt;endl;
 getchar();
 }
 else
 {	
 for (gPos=1; gPos&lt;21; gPos++)
 {
 system(&quot;cls&quot;);
 cout&lt;&lt;&quot;Datei erfolgreich ge\x94 \bffnet&quot;&lt;&lt;endl;
 fgets(AdrDB[gPos].Name, 40, MeineDatei);
 //hier muss irgendwie das Return gelöscht werden oder?
 fgets(AdrDB[gPos].Strasse, 40, MeineDatei);
 fgets(AdrDB[gPos].Ort, 40, MeineDatei);
 }
 if (gPos==21)
 {
 system(&quot;cls&quot;);
 cout&lt;&lt;&quot;alle Datens\x84tze testDB.txt in aktuelle Sitzung geladen.&quot;&lt;&lt;endl;
 cout&lt;&lt;&quot;Return -&gt; zur\x81 \bck zum Hauptmen\x81!&quot;;
 getchar();
 fclose(MeineDatei);
 }
}
break;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1810787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1810787</guid><dc:creator><![CDATA[Leitz]]></dc:creator><pubDate>Fri, 20 Nov 2009 06:38:35 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenumbruch beim Auslesen aus Datei entferenen on Fri, 20 Nov 2009 07:39:19 GMT]]></title><description><![CDATA[<p>Dein Code ist a) extrem kompliziert, und b) C und nicht C++.<br />
Das geht viel einfacher:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;string&gt;

//...
std::ifstream reader(&quot;in_file.txt&quot;);
std::ofstream writer(&quot;out_file.txt&quot;);
std::string line;
while(std::getline(reader, line) &amp;&amp; writer)
{
    //ggf. irgendwas mit line machen
    writer &lt;&lt; line &lt;&lt; '\n';
}
//...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1810802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1810802</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 20 Nov 2009 07:39:19 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenumbruch beim Auslesen aus Datei entferenen on Fri, 20 Nov 2009 09:41:19 GMT]]></title><description><![CDATA[<p>Hallo Tachion, merci für Deine schnelle Antwort. Dieses kleine Programm ist der Versuch mir C++ mit einem etwas betagtem Skript beizubringen. ifstram und readline etc. werden hier gar nicht behandelt. Scheint mir aber auch einfacher zu sein. Kannst Du mir Literattur (möglichst digital und schnell verfügbar) dazu empfehlen? Etwas mehr Kommentar und Code würde mir sicher weiter helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1810862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1810862</guid><dc:creator><![CDATA[Leitz]]></dc:creator><pubDate>Fri, 20 Nov 2009 09:41:19 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenumbruch beim Auslesen aus Datei entferenen on Fri, 20 Nov 2009 10:05:48 GMT]]></title><description><![CDATA[<p>Leitz schrieb:</p>
<blockquote>
<p>Hallo Tachion, merci für Deine schnelle Antwort. Dieses kleine Programm ist der Versuch mir C++ mit einem etwas betagtem Skript beizubringen. ifstram und readline etc. werden hier gar nicht behandelt. Scheint mir aber auch einfacher zu sein. Kannst Du mir Literattur (möglichst digital und schnell verfügbar) dazu empfehlen? Etwas mehr Kommentar und Code würde mir sicher weiter helfen.</p>
</blockquote>
<p>Eine gute Anlaufstelle zum Nachschlagen für die C++ Standardbibliothek ist diese Seite: <a href="http://www.cplusplus.com/reference/" rel="nofollow">C++ Reference</a>. Das ist aber eher was, wenn man weiß wie etwas heißt, und dann nachschlagen will, wie es benutzt wird.<br />
Für Tutorials würde ich an Deiner Stelle eine Suchmaschine bemühen und dann das für Dich am Besten geeignete Tutorial durchöckern.</p>
<p>Kommentare:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;string&gt;

//...
//einen Stream zum Lesen aus in_file.txt oeffnen
std::ifstream reader(&quot;in_file.txt&quot;);
//einen Stream zum Schreiben in out_file.txt oeffnen
std::ofstream writer(&quot;out_file.txt&quot;);
//wir lesen in einen String ein. Um Arraygroessen muessen wir
//uns nicht kuemmern
std::string line;
//solange raeder und writer okay sind (geoeffnet, noch zeilen in der Datei
//etc.) lesen wir in &quot;line&quot; ein
while(std::getline(reader, line) &amp;&amp; writer)
{
    //ggf. irgendwas mit line machen
    //und schreiben es dann wieder raus
    writer &lt;&lt; line &lt;&lt; '\n';
}
//...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1810881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1810881</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 20 Nov 2009 10:05:48 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenumbruch beim Auslesen aus Datei entferenen on Fri, 20 Nov 2009 11:22:06 GMT]]></title><description><![CDATA[<p>scheitere wohl grad an dem //ggf. irgendwas mit line machen</p>
<p>Wie schaffe ich es, dass das was zeilenweise in den string &quot;line&quot; eingelesen wird,<br />
Stück für Stück an die richtige Position in mein Array geschrieben wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1810935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1810935</guid><dc:creator><![CDATA[Leitz]]></dc:creator><pubDate>Fri, 20 Nov 2009 11:22:06 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenumbruch beim Auslesen aus Datei entferenen on Fri, 20 Nov 2009 11:54:13 GMT]]></title><description><![CDATA[<p>Such mal nach <code>std::stringstream</code> ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1810948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1810948</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 20 Nov 2009 11:54:13 GMT</pubDate></item></channel></rss>