<?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[Wieder zwei unsinnige Funktionen!]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mal wieder zwei unsinnige Funktion, die keinem weiterhelfen. <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>Folgende Funktion funktioniert:</p>
<pre><code>void in_string (string &amp;x) {
	string *y = &amp;x;
	getline (cin,*y);
};
</code></pre>
<p>Warum funktioniert diese nicht:</p>
<pre><code>void in_int (int &amp;x) {
	int *y = &amp;x;
	cin &gt;&gt; *y;
};
</code></pre>
<p>Dank im Voraus und bitte genau erklären.</p>
<p>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/317631/wieder-zwei-unsinnige-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 14:21:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/317631.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 15 Jun 2013 10:51:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 10:51:01 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mal wieder zwei unsinnige Funktion, die keinem weiterhelfen. <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>Folgende Funktion funktioniert:</p>
<pre><code>void in_string (string &amp;x) {
	string *y = &amp;x;
	getline (cin,*y);
};
</code></pre>
<p>Warum funktioniert diese nicht:</p>
<pre><code>void in_int (int &amp;x) {
	int *y = &amp;x;
	cin &gt;&gt; *y;
};
</code></pre>
<p>Dank im Voraus und bitte genau erklären.</p>
<p>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331315</guid><dc:creator><![CDATA[Seikuassi]]></dc:creator><pubDate>Sat, 15 Jun 2013 10:51:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 10:56:06 GMT]]></title><description><![CDATA[<p>Beide funktionieren.<br />
Bitte minimales aber vollständiges Testprogramm schicken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331317</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 15 Jun 2013 10:56:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 11:10:49 GMT]]></title><description><![CDATA[<p>Hallo volkard,</p>
<p>Hier nun das Testprogramm:</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

void in_int (int &amp;x) {
    int *y = &amp;x;
    cin &gt;&gt; *y;
};
int main () {
	int x;
	in_int (x);
	// hier stürzt das Programm ab
	cout &lt;&lt; &quot;\n\n\n&quot; &lt;&lt; x;
	cin.peek ();
	return 0;
};
</code></pre>
<p>Kompiliert wurde die Quelldatei mit g++.exe vom MinGW.</p>
<p>Wo liegt nun der Fehler?</p>
<p>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331320</guid><dc:creator><![CDATA[Seikuassi]]></dc:creator><pubDate>Sat, 15 Jun 2013 11:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 11:18:40 GMT]]></title><description><![CDATA[<p>Sollte funktionieren. Dritten Link in meiner Signatur durchlesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331321</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 15 Jun 2013 11:18:40 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 11:27:34 GMT]]></title><description><![CDATA[<p>Seikuassi schrieb:</p>
<blockquote>
<p>Hallo volkard,</p>
<p>Hier nun das Testprogramm:</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

void in_int (int &amp;x) {
    int *y = &amp;x;
    cin &gt;&gt; *y;
};
int main () {
	int x;
	in_int (x);
	// hier stürzt das Programm ab
	cout &lt;&lt; &quot;\n\n\n&quot; &lt;&lt; x;
	cin.peek ();
	return 0;
};
</code></pre>
<p>Kompiliert wurde die Quelldatei mit g++.exe vom MinGW.</p>
<p>Wo liegt nun der Fehler?</p>
<p>MfG</p>
<p>Seikuassi</p>
</blockquote>
<p>Das Programm stürzt nicht ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331322</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 15 Jun 2013 11:27:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 11:30:19 GMT]]></title><description><![CDATA[<p>Hallo volkard,</p>
<p>Kleine Änderung: Das Programm scheint doch zu funktionieren, aber es wird beendet bzw. ignoriert scheinbar den Befehl &quot;cin.peek ()&quot;.<br />
Warum?</p>
<p>main.cpp:</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

void in_int (int &amp;x) {
    int *y = &amp;x;
    cin &gt;&gt; *y;
};
int main () {
	int x;
	in_int (x);
	cout &lt;&lt; &quot;\n\n\n&quot; &lt;&lt; x;
    // ignoriert den nächsten Befehl
	cin.peek ();
	return 0;
};
</code></pre>
<p>Bei dem anderen Code funktioniert allerdings der &quot;cin.peek ()&quot; wieder:</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

void in_string (string &amp;x) {
		string *y = &amp;x;
		getline (cin,*y);
};
int main () {
	string x;
	in_string (x);
	cout &lt;&lt; &quot;\n\n\n&quot; &lt;&lt; x;
    // hier funktioniert cin.peek () wieder
	cin.peek ();
	return 0;
};
</code></pre>
<p>Also, wenn man jetzt keinen Fehler findet, dann muss doch das am Kompiler liegen, oder?</p>
<p>Danke im Voraus!</p>
<p>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331323</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Sat, 15 Jun 2013 11:30:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 11:33:10 GMT]]></title><description><![CDATA[<blockquote>
<p>Das Programm stürzt nicht ab.</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="😕"
    /> Dann muss es doch am Compiler liegen, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331324</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Sat, 15 Jun 2013 11:33:10 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 11:38:50 GMT]]></title><link>https://www.c-plusplus.net/forum/post/2331326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331326</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 15 Jun 2013 11:38:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 11:39:19 GMT]]></title><description><![CDATA[<p>Hier das Programm zum Download (virenfrei):</p>
<p><a href="http://www.file-upload.net/download-7716476/main.exe.html" rel="nofollow">http://www.file-upload.net/download-7716476/main.exe.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331328</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Sat, 15 Jun 2013 11:39:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 11:45:34 GMT]]></title><description><![CDATA[<p>Der Compiler ignoriert <code>peek()</code> im ersten Code, weil der Zeilenumbruch bei der Extraktion von Skalaren nicht mit extrahiert wird.<br />
<code>getline()</code> nimmt den Zeilenumbruch hingegen schon raus.</p>
<p>Bekanntes Beispiel, warum man formatiertes und unformatiertes Lesen nicht vermischen sollte.</p>
<p>Das heißt: Im internen Buffer ist immer noch ein '\n' nicht gelesen worden. Daher blociet peek() nicht, sondern gibt '\n' zurück.</p>
<p>Kannst du mir jetzt erklären, wieso folgendes Programm (wie von dir erwartet) funktioniert:</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

void in_int (int &amp;x) {
    int *y = &amp;x;
    cin &gt;&gt; *y;
};
int main () {
    int x;
    in_int (x);
    cout &lt;&lt; &quot;\n\n\n&quot; &lt;&lt; x;
    // ignoriert den nächsten Befehl

    cin.ignore();
    cin.peek ();
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2331329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331329</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 15 Jun 2013 11:45:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 11:53:33 GMT]]></title><description><![CDATA[<p>Aha, es funktioniert, wegen dem getline. Das heißt, das eine mögliche Funktion für alle Pausen (ohne system (&quot;pause&quot;)) wäre dann:</p>
<pre><code>void pause () {
   cin.ignore ();
   cin.peek ();
};
</code></pre>
<p>Danke nochmal für eure Hilfe.</p>
<p>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331335</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Sat, 15 Jun 2013 11:53:33 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 12:01:51 GMT]]></title><description><![CDATA[<p>Seikuassi schrieb:</p>
<blockquote>
<p>Aha, es funktioniert, wegen dem getline. Das heißt, das eine mögliche Funktion für alle Pausen (ohne system (&quot;pause&quot;)) wäre dann:</p>
<pre><code>void pause () {
   cin.ignore ();
   cin.peek ();
};
</code></pre>
</blockquote>
<p>Nein nicht wirklich. Schau mal im Archiv des (geschlossenen) Konsolenforums für bessere Lösungen. Die beste Lösung ist jedoch, Konsolenprogramme auch von einer Konsole aus zu benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331338</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 15 Jun 2013 12:01:51 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 15:38:46 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Was hälst du von diesem Code?</p>
<pre><code>cin.ignore(256,'\n'); 
cin.peek ();
</code></pre>
<p>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331362</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Sat, 15 Jun 2013 15:38:46 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 15:56:00 GMT]]></title><description><![CDATA[<p>Seikuassi schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>Was hälst du von diesem Code?</p>
<pre><code>cin.ignore(256,'\n'); 
cin.peek ();
</code></pre>
<p>MfG</p>
<p>Seikuassi</p>
</blockquote>
<p>Was hast du genau vor? :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331365</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 15 Jun 2013 15:56:00 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 15:58:28 GMT]]></title><description><![CDATA[<p>Ok, aber nicht optimal.</p>
<pre><code class="language-cpp">std::cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(), '\n');
</code></pre>
<p>wuerde sich besser machen.</p>
<p>EDIT aber am besten find ich immernoch:</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Die beste Lösung ist jedoch, Konsolenprogramme auch von einer Konsole aus zu benutzen.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2331366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331366</guid><dc:creator><![CDATA[Jonas OSDever]]></dc:creator><pubDate>Sat, 15 Jun 2013 15:58:28 GMT</pubDate></item><item><title><![CDATA[Reply to Wieder zwei unsinnige Funktionen! on Sat, 15 Jun 2013 17:25:24 GMT]]></title><description><![CDATA[<p>Seikuassi schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>Was hälst du von diesem Code?</p>
<pre><code>cin.ignore(256,'\n'); 
cin.peek ();
</code></pre>
</blockquote>
<p>Was ist an 256 anders als an 1?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331378</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 15 Jun 2013 17:25:24 GMT</pubDate></item></channel></rss>