<?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[aus datei lesen]]></title><description><![CDATA[<p>hallo,</p>
<p>wie man aus einer datei die werte auslesen und auf der konsole ausgeben kann, die in so einer datei gespeichert sind weiß ich:</p>
<p>1<br />
2<br />
3<br />
...</p>
<p>aber wie verhält es sich mit der folgenden datei(leerzeichen???):</p>
<p>1 100<br />
2 200<br />
3 300<br />
...</p>
<p>ich schaffe es irgendwie nicht beide werte auszulesen.</p>
<p>und bevor ich noch einen zweiten thread aufmache, noch eine frage zum formatierten speichern.</p>
<p>datei:</p>
<p>1<br />
10<br />
100<br />
...</p>
<p>wie muss ich das &quot;speichern&quot; formatieren, damit alles ordentlich eingerückt ist?</p>
<p>thanks @ all</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/242590/aus-datei-lesen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 22:09:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242590.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 05 Jun 2009 15:03:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to aus datei lesen on Fri, 05 Jun 2009 15:03:56 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>wie man aus einer datei die werte auslesen und auf der konsole ausgeben kann, die in so einer datei gespeichert sind weiß ich:</p>
<p>1<br />
2<br />
3<br />
...</p>
<p>aber wie verhält es sich mit der folgenden datei(leerzeichen???):</p>
<p>1 100<br />
2 200<br />
3 300<br />
...</p>
<p>ich schaffe es irgendwie nicht beide werte auszulesen.</p>
<p>und bevor ich noch einen zweiten thread aufmache, noch eine frage zum formatierten speichern.</p>
<p>datei:</p>
<p>1<br />
10<br />
100<br />
...</p>
<p>wie muss ich das &quot;speichern&quot; formatieren, damit alles ordentlich eingerückt ist?</p>
<p>thanks @ all</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721837</guid><dc:creator><![CDATA[kleinerFrager]]></dc:creator><pubDate>Fri, 05 Jun 2009 15:03:56 GMT</pubDate></item><item><title><![CDATA[Reply to aus datei lesen on Fri, 05 Jun 2009 15:13:11 GMT]]></title><description><![CDATA[<p>Ahoi!</p>
<blockquote>
<p>aber wie verhält es sich mit der folgenden datei(leerzeichen???):</p>
</blockquote>
<p>?<br />
Das entscheidest du ganz allein.</p>
<blockquote>
<p>ich schaffe es irgendwie nicht beide werte auszulesen.</p>
</blockquote>
<p>Möglichkeit 1:<br />
Du liest alles in einen Buffer, checkst wann eine 1 kommt, das nachfolgende Element ein Leerzeichen oder ein konkreter Wert ist und holst dir jenachdem die Daten.</p>
<p>Möglichkeit 2:<br />
Du holst dir bis zum Ende des Files immer eine &quot;line&quot; und packst das Gedöns in einen vector und wenn das erste Element 1 ist, kannst du easy den nachfolgenden Mist parsen.</p>
<blockquote>
<p>wie muss ich das &quot;speichern&quot; formatieren, damit alles ordentlich eingerückt ist?</p>
</blockquote>
<p><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/1721839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721839</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Fri, 05 Jun 2009 15:13:11 GMT</pubDate></item><item><title><![CDATA[Reply to aus datei lesen on Fri, 05 Jun 2009 15:17:30 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;char C&gt;
std::istream&amp; Char(std::istream&amp; in)
{
  char c;
  if( in &gt;&gt; c &amp;&amp; c != C )
    in.setstate(std::ios_base::failbit);
  return in;
}

int main()
{
  std::ifstream stream(&quot;datei.txt&quot;);

  int a;
  int b;
  stream &gt;&gt; a &gt;&gt; Char&lt;' '&gt; &gt;&gt; b;
}
</code></pre>
<p>So würdest du das z.bsp. auslesen können...</p>
<p>wie muss ich das &quot;speichern&quot; formatieren, damit alles ordentlich eingerückt ist?<br />
<a href="http://www.cplusplus.com/reference/iostream/manipulators/setw/" rel="nofollow">http://www.cplusplus.com/reference/iostream/manipulators/setw/</a></p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721842</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 05 Jun 2009 15:17:30 GMT</pubDate></item><item><title><![CDATA[Reply to aus datei lesen on Fri, 05 Jun 2009 15:48:24 GMT]]></title><description><![CDATA[<p>kleinerFrager schrieb:</p>
<blockquote>
<p>wie muss ich das &quot;speichern&quot; formatieren, damit alles ordentlich eingerückt ist?</p>
</blockquote>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;algorithm&gt;
#include &lt;iomanip&gt;

int main()
{
	std::ifstream input(&quot;test.txt&quot;);
	if(!input) {
		std::cerr &lt;&lt; &quot;Datei wurde nicht gefunden.&quot; &lt;&lt; std::endl;
		return 1;
	}
	std::vector&lt;std::string&gt; inhalt;
	std::string zeile;
	while(std::getline(input, zeile))
		inhalt.push_back(zeile);
	std::string::size_type max_stellen = std::max_element(inhalt.begin(), inhalt.end())-&gt;size();
	std::ofstream output(&quot;formatiert.txt&quot;);
	for(std::vector&lt;std::string&gt;::iterator it = inhalt.begin(); it != inhalt.end(); ++it)
		output &lt;&lt; std::setw(max_stellen) &lt;&lt; *it &lt;&lt; &quot;\n&quot;;

	return 0;
}
</code></pre>
<p><strong>test.txt</strong></p>
<pre><code>1
10
100
10
1
1000
10000
1
</code></pre>
<p><strong>formatiert.txt</strong> (nach Ausführung des Programms)</p>
<pre><code>1
   10
  100
   10
    1
 1000
10000
    1
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1721865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721865</guid><dc:creator><![CDATA[Mizar]]></dc:creator><pubDate>Fri, 05 Jun 2009 15:48:24 GMT</pubDate></item><item><title><![CDATA[Reply to aus datei lesen on Fri, 05 Jun 2009 17:25:23 GMT]]></title><description><![CDATA[<p>genau das waren meine probleme. <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>vielen, vielen dank @ unskilled und Mizar!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721903</guid><dc:creator><![CDATA[kleinerFrager]]></dc:creator><pubDate>Fri, 05 Jun 2009 17:25:23 GMT</pubDate></item><item><title><![CDATA[Reply to aus datei lesen on Sat, 06 Jun 2009 08:48:41 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<pre><code class="language-cpp">template &lt;char C&gt;
std::istream&amp; Char(std::istream&amp; in)
{
  char c;
  if( in &gt;&gt; c &amp;&amp; c != C )
    in.setstate(std::ios_base::failbit);
  return in;
}

int main()
{
  std::ifstream stream(&quot;datei.txt&quot;);

  int a;
  int b;
  stream &gt;&gt; a &gt;&gt; Char&lt;' '&gt; &gt;&gt; b;
}
</code></pre>
<p>So würdest du das z.bsp. auslesen können...</p>
</blockquote>
<p>Hallo unskilled,</p>
<p>ich hatte das schon mal in einem <a href="http://www.c-plusplus.net/forum/viewtopic-var-p-is-1716726.html#1716726" rel="nofollow">anderen Thread</a> gesehen; und bevor das einreist .. eine Bemerkung dazu:<br />
Die Konstruktion mit Char&lt;&gt; benötigt man dann (und auch nur genau dann), wenn ein einzelnes (erwartetes) Zeichen überlesen werden soll, welches <strong>kein</strong> <a href="http://de.wikipedia.org/wiki/Leerraum" rel="nofollow">white space character</a> ist und das Flag skipws gesetzt ist, was aber immer der Fall ist, solange man es nicht explizit zurück setzt (Manipulator <a href="http://www.cplusplus.com/reference/iostream/manipulators/noskipws/" rel="nofollow">noskipws</a>). Diese von Char&lt;&gt; zu überlesende Zeichen sind im allgemeinen Kommas oder Semikolon oder andere Trenner, aber kein Space oder Tab oder Zeilenende.</p>
<p>Probiere Deinen Code bitte aus und Du wirst sehen, dass der 'stream' auf einen Lesefehler läuft, was daran liegt, dass in Zeile 5 nie ein Space (' ') gelesen wird, solange skipws gesetzt ist.</p>
<p>Der std::istream unterscheidet grundsätzlich zwischen white space und nicht white space Zeichen. Das heißt er liest den Stream, so wie auch ein Mensch Zeichen von Papier liest. Wenn zwei Zahlen (hier 1 100) hintereinander stehen, so ist es völlig nebensächlich wie viele white space character vor zwischen und hinter den Zahlen stehen. Es muss lediglich immer mindestens ein white space zwischen den Zahlen stehen, damit klar ist, wann die erste Zahl aufhört und die zweite anfängt.</p>
<p>Die Zeile 17 lautet daher korrekt:</p>
<pre><code class="language-cpp">stream &gt;&gt; a &gt;&gt; b;
</code></pre>
<p>die richtige Lösung ist häufig die einfache Lösung.</p>
<p>Ansonsten freut es mich natürlich, wenn meine Vorschläge (z.B. Char&lt;&gt;) hier aufgenommen werden.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722131</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sat, 06 Jun 2009 08:48:41 GMT</pubDate></item><item><title><![CDATA[Reply to aus datei lesen on Sat, 06 Jun 2009 11:20:34 GMT]]></title><description><![CDATA[<p>Danke für die Erklärung ^^<br />
Jz, wo du es sagst, klingt das alles ganz logisch <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="😃"
    /><br />
Liegt wohl daran, dass ich ich die Fkt in letzter Zeit immer für Trennzeichen genommen habe, aber noch nie nen Leerzeichen als Trennzeichen genommen habe...</p>
<p>Jopp - diese kleine Hilfsfunktion ist toll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722196</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 06 Jun 2009 11:20:34 GMT</pubDate></item></channel></rss>