<?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[Text einlesen]]></title><description><![CDATA[<p>Hallo, ich programmiere noch nicht lange c++ und komme grade nicht weiter.<br />
Ich möchte gerne eine textdatei einlesen, welche einen Header enthalten (Angaben über die Daten, Datum, Verfasser usw.) und darunter Messdaten stehen. Also nach diesem Header immer eine Zahl in einer Reihe.<br />
Nun möchte ich im Programm meine Reichweite eingeben und es sollen Messdaten von Zeile x bis Zeile y eingelesen werden.<br />
Meine überlegung war am ende jeder Reihe muss ja ein &quot;Enter&quot; für den Zeilenumbruch stehen, wie kann ich c++ die Zeilen bis zu dem Zeilenumbruch weglesen lassen???</p>
<p>Ps: dachte mir....<br />
char a;<br />
for(anzahl der wegzulesenden zeilen)<br />
{<br />
while(a!=&quot;hier fehlt der Umbruch&quot;)<br />
{<br />
text&gt;&gt;a;<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/286260/text-einlesen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 23:19:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/286260.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 May 2011 15:56:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 15:56:01 GMT]]></title><description><![CDATA[<p>Hallo, ich programmiere noch nicht lange c++ und komme grade nicht weiter.<br />
Ich möchte gerne eine textdatei einlesen, welche einen Header enthalten (Angaben über die Daten, Datum, Verfasser usw.) und darunter Messdaten stehen. Also nach diesem Header immer eine Zahl in einer Reihe.<br />
Nun möchte ich im Programm meine Reichweite eingeben und es sollen Messdaten von Zeile x bis Zeile y eingelesen werden.<br />
Meine überlegung war am ende jeder Reihe muss ja ein &quot;Enter&quot; für den Zeilenumbruch stehen, wie kann ich c++ die Zeilen bis zu dem Zeilenumbruch weglesen lassen???</p>
<p>Ps: dachte mir....<br />
char a;<br />
for(anzahl der wegzulesenden zeilen)<br />
{<br />
while(a!=&quot;hier fehlt der Umbruch&quot;)<br />
{<br />
text&gt;&gt;a;<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059601</guid><dc:creator><![CDATA[Neuling01]]></dc:creator><pubDate>Fri, 06 May 2011 15:56:01 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 16:37:48 GMT]]></title><description><![CDATA[<p>Mit getline kann man zeilenweise einlesen. Ich bin mir aber nicht 100% sicher, ob du das wirklich suchst. Kannst du kurz ein kleines Beispiel für eine Datei und was du damit machen willst geben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059629</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 06 May 2011 16:37:48 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 16:42:10 GMT]]></title><description><![CDATA[<p>Beispiel wäre :</p>
<p>Schaltbildname : Laser-trigon-V010-2007-02-13<br />
Aufgenommen am : 13.02.07. 9:05:51<br />
Blocklaenge : 1<br />
Delta : 100 sec.<br />
Kanalzahl : 3</p>
<p>Weg-pur [?m]<br />
-42.11<br />
-48.12<br />
-47.51<br />
-8.14<br />
-41.4<br />
-18.82<br />
-25.13<br />
-42.72<br />
-31.84<br />
-59<br />
-35.1<br />
-52.08<br />
-65.82<br />
-11.9<br />
-53.71<br />
-82.09<br />
-71<br />
-31.64<br />
-98.27<br />
-60.63<br />
-116.88<br />
-121.05<br />
-112.51<br />
usw...</p>
<p>also im programm angeben ab welcher zeile die daten eingelesen werden sollen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059631</guid><dc:creator><![CDATA[Neuling01]]></dc:creator><pubDate>Fri, 06 May 2011 16:42:10 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 16:46:05 GMT]]></title><description><![CDATA[<p>Du kannst mit getline() eine komplette Zeile aus der Datei einlesen. Damit kannst du dann z.B. zählen, wo du gerade bist, oder die Daten weiterverarbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059635</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 06 May 2011 16:46:05 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 16:48:45 GMT]]></title><description><![CDATA[<p>Da es immer nur eine Zahl pro Zeile ist, wäre getline wohl eher hinderlich. Lies einfach die Zahlen so wie sie sind ein. Zeilen direkt anspringen kannst du bei ungeleichmäßiger Zeilenlänge ohnehin nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059636</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 06 May 2011 16:48:45 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 17:03:51 GMT]]></title><description><![CDATA[<p>der Header muss dabei ja auch berücksichtigt werden.<br />
und da dieser in jeder textdatei anders aussehen kann soll man eine zeile angeben können um von dort aus die zahlen einzeln einlesen zu können.</p>
<p>könntet ihr mir ein beispiel geben wie isch zb die ersten 5 zeilen weglesen kann?<br />
am besten mit einer for-schleife. die weggelesenen daten müssen nirgendwo gespeichert oder ausgegeben werden, relevant sind für mich nur die messdaten danach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059648</guid><dc:creator><![CDATA[Neuling01]]></dc:creator><pubDate>Fri, 06 May 2011 17:03:51 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 17:06:53 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Da es immer nur eine Zahl pro Zeile ist, wäre getline wohl eher hinderlich. Lies einfach die Zahlen so wie sie sind ein. Zeilen direkt anspringen kannst du bei ungeleichmäßiger Zeilenlänge ohnehin nicht.</p>
</blockquote>
<p>Zumindest zum Überlesen des Datei-Headers könnte man es verwenden - alternativ könnte auch i(f)stream::ignore() dafür ausreichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059652</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 06 May 2011 17:06:53 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 17:17:54 GMT]]></title><description><![CDATA[<p>Neuling01 schrieb:</p>
<blockquote>
<p>der Header muss dabei ja auch berücksichtigt werden.<br />
und da dieser in jeder textdatei anders aussehen kann soll man eine zeile angeben können um von dort aus die zahlen einzeln einlesen zu können.</p>
<p>könntet ihr mir ein beispiel geben wie isch zb die ersten 5 zeilen weglesen kann?<br />
am besten mit einer for-schleife. die weggelesenen daten müssen nirgendwo gespeichert oder ausgegeben werden, relevant sind für mich nur die messdaten danach.</p>
</blockquote>
<p>Wie wäre es mal mit ein bisschen Initiative? Das ist wirklich einfach. Aber mal angenommen, du wärest in der Datei am Ende des Headers (wie man dahin kommt, machst du bitte selber), dann kannst du danach beispielsweise so einlesen:</p>
<pre><code class="language-cpp">// Einlesen aus &quot;text&quot; von &quot;von&quot; bis &quot;bis&quot;:
for(int i=1; i&lt;=bis; ++i)
 {
   double zahl;
   text &gt;&gt; zahl;
   if (i &gt;= von) cout &lt;&lt; zahl;
 }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2059657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059657</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 06 May 2011 17:17:54 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 18:26:43 GMT]]></title><description><![CDATA[<p>SeppJ genau da liegt ja mein problem ... die einzelnen Zahlen einlesen kann ich.<br />
auch einen definierten Header weglesen ist nicht so schwer.<br />
aber bei mir ist der header jedesmal ander (reihenanzahl und inhalt), also hat kein definiertes ende.<br />
deswegen war es meine überlegung sich die .txt anzugucken und die anzahl an reihen, die der jeweilige header dann hat, wegzulesen.<br />
jedoch hab ich es erst versucht mit weglesen bis zeilenumbruch und das x mal, da kam ich nicht weiter weil ich nicht wusste wie man zeilenumbruch definiert.<br />
und nun probier ich grade das mit getline().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059701</guid><dc:creator><![CDATA[Neuling01]]></dc:creator><pubDate>Fri, 06 May 2011 18:26:43 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 18:30:50 GMT]]></title><description><![CDATA[<p>Woran erkennst du denn als Mensch das Ende des Headers?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059705</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 06 May 2011 18:30:50 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 18:32:35 GMT]]></title><description><![CDATA[<p>Hast du denn irgendein festes Merkmal, um das Ende des Headers im Programm zu erkennen (z.B. die letzte Zeile vor den Nutzdaten ist immer &quot;Weg-pur [?m]&quot;)? Wenn ja, würde ich solange Daten einlesen, bis ich dieses Merkmal gelesen habe.<br />
Andernfalls kann man auch per peek() das Zeichen an der Leseposition herausfinden, ohne weiterzulesen.</p>
<p>PS: Für die Zukunft: das Zeilenende wäre '\n' <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/2059706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059706</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 06 May 2011 18:32:35 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 18:40:10 GMT]]></title><description><![CDATA[<p>Neuling01 schrieb:</p>
<blockquote>
<p>Beispiel wäre :</p>
<p>Schaltbildname : Laser-trigon-V010-2007-02-13<br />
Aufgenommen am : 13.02.07. 9:05:51<br />
Blocklaenge : 1<br />
Delta : 100 sec.<br />
Kanalzahl : 3</p>
<p>Weg-pur [?m]<br />
-42.11<br />
-48.12<br />
-47.51<br />
-8.14<br />
-41.4<br />
-18.82<br />
-25.13<br />
-42.72<br />
-31.84<br />
-59<br />
-35.1<br />
-52.08<br />
-65.82<br />
-11.9<br />
-53.71<br />
-82.09<br />
-71<br />
-31.64<br />
-98.27<br />
-60.63<br />
-116.88<br />
-121.05<br />
-112.51</p>
</blockquote>
<p>bis &quot;Weg-pur [?m]&quot; wäre der header, danach kommen die daten ... nun endet aber nicht jeder header mit&quot;Weg-pur [?m]&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059716</guid><dc:creator><![CDATA[Neuling01]]></dc:creator><pubDate>Fri, 06 May 2011 18:40:10 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 18:43:09 GMT]]></title><description><![CDATA[<p>Sind die Nutzwerte denn alle negativ? Und kann es auch passieren, daß im Kopfbereich ein numerischer Eintrag auftritt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059717</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 06 May 2011 18:43:09 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Fri, 06 May 2011 19:07:03 GMT]]></title><description><![CDATA[<p>Also wie ich das verstanden habe, möchtest du die aktuelle Eingabe (Messdaten) abspeichern um sie später wieder aufzurufen.</p>
<p>Ich habe mal grade ein kleines Programm geschrieben,was vielleicht deine Anforderungen erfüllen könnte:</p>
<pre><code>#include &quot;../../../std_lib_facilities.h&quot;
#include &quot;conio.h&quot;

int main()
{
	vector&lt;double&gt; temps;
	double temp;
	int i = 0;

	cout&lt;&lt;&quot;Geben Sie die Daten getrennt von einem Leertsatendruck ein, wenn sie fertig sind druecken sie strg+z!\n&quot;;
	while(cin&gt;&gt;temp){
		temps.push_back(temp);
	}

	cout&lt;&lt;'\n';
	cout&lt;&lt;&quot;Die Daten lauten:\n&quot;;
	while(i&lt; temps.size()){
		cout&lt;&lt;temps[i]&lt;&lt;'\n';
		++ i;
	}
	getch();
}
</code></pre>
<p>Der Code enthält eine saubere Eingabeaufgorderung.<br />
Zum Programm: Hier werden die Daten in einen vector-Container eingelsen und dann ausgegeben.</p>
<p>Ich hoffe ich konnte dir weiterhelfen.</p>
<p>Mfg Golfi1812 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059733</guid><dc:creator><![CDATA[Golfi1812]]></dc:creator><pubDate>Fri, 06 May 2011 19:07:03 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Sat, 07 May 2011 12:00:50 GMT]]></title><description><![CDATA[<p>Hi, ich muss doch nochmal nerven.<br />
Nach vielem rumschreiben bin ich nu auf Pointer gekommen und hab mich dort mal eingelesen.<br />
Achja Problem wie gehabt, einlesen einer ganzen zeile ohne spezifisches ende mit char oder string und keiner spezifischen char-anzahl.<br />
bis jetzt habe ich:</p>
<p>FILE *textdaten = fopen( &quot;D://Daten_200.txt&quot;, &quot;r&quot; );<br />
for (i=1;i&lt;=anfang;i++)<br />
{<br />
fgets (datei , 200 , textdaten);<br />
puts (datei);<br />
fclose (textdaten);<br />
}</p>
<p>wobei anfang vorher noch eingegeben werden kann, es soll dann später der anfang der messdaten (bzw der ersten reihe mit messdaten welche eingelesen werden sollen) darstellen.</p>
<p>nun liest er die erste zeile ein und gibt mir die &quot;anfang&quot;-mal wieder aus, jemand ne ideen wo der fehler liegt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060000</guid><dc:creator><![CDATA[Neuling01]]></dc:creator><pubDate>Sat, 07 May 2011 12:00:50 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Sat, 07 May 2011 12:13:34 GMT]]></title><description><![CDATA[<p>ok sorry für die dumme frage, habs selbst bemerkt.<br />
man sollte die datei nicht innerhalb der schleife schließen <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="🙄"
    /></p>
<p>also mit pointern kann ich nun zeilenweise einlesen, für diejenigen, die dasselbe problem haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060005</guid><dc:creator><![CDATA[Neuling01]]></dc:creator><pubDate>Sat, 07 May 2011 12:13:34 GMT</pubDate></item><item><title><![CDATA[Reply to Text einlesen on Sat, 07 May 2011 12:14:58 GMT]]></title><description><![CDATA[<p>Jetzt hast du die schlechteste Lösung überhaupt gefunden <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="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060008</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 07 May 2011 12:14:58 GMT</pubDate></item></channel></rss>