<?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[cin und getline]]></title><description><![CDATA[<p>auf die gefahr hin, dass ich hier &quot;erschlagen&quot; werde mal ne ganz billige frage:</p>
<p>als eigentlicher java- und delphi-programmierer bin ich gerade dabei, mir c++ mithilfe eines schlauen buches beizubringen. als übrung hab ich mal paar zeilen geschrieben, wo zuerst int und double-werte eingegeben werden können, bis der int-wert 0 ist. danach soll miut getline eine zeile eingelesen werden(vor- und nachname). das getline scheint er aber zu überspringen. Er gibt einfach nur aus:</p>
<p>Bitte Vor- und Nachname eingeben:<br />
Programmende</p>
<p>Hier der Code:</p>
<pre><code>//int und double
    cout &lt;&lt; endl &lt;&lt; &quot;int und double:&quot; &lt;&lt; endl;   
    double d;
    while ((cin &gt;&gt; i &gt;&gt; d)  &amp;&amp; (i != 0))
        cout &lt;&lt; i &lt;&lt; endl &lt;&lt; d &lt;&lt; endl;

    //ganze zeile als string lesen
    string name;
    cout &lt;&lt; &quot;Bitte Vor- und Nachname eingeben: &quot;;
    getline(cin, name);
    cout &lt;&lt; name;

    cout &lt;&lt; &quot;Programmende&quot; &lt;&lt; endl;
    cin &gt;&gt; i;
</code></pre>
<p>Der scheint vielleicht noch sowas wie nen leeren string im cin-puffer zu haben und liest nichts neues mehr ein.</p>
<p>wenn ich nur diesen teil</p>
<pre><code>//ganze zeile als string lesen
    string name;
    cout &lt;&lt; &quot;Bitte Vor- und Nachname eingeben: &quot;;
    getline(cin, name);
    cout &lt;&lt; name;
</code></pre>
<p>in nem neuen Programm eingebe, dann geht das. Warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171799/cin-und-getline</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 14:10:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171799.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Jan 2007 14:05:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to cin und getline on Mon, 29 Jan 2007 14:05:04 GMT]]></title><description><![CDATA[<p>auf die gefahr hin, dass ich hier &quot;erschlagen&quot; werde mal ne ganz billige frage:</p>
<p>als eigentlicher java- und delphi-programmierer bin ich gerade dabei, mir c++ mithilfe eines schlauen buches beizubringen. als übrung hab ich mal paar zeilen geschrieben, wo zuerst int und double-werte eingegeben werden können, bis der int-wert 0 ist. danach soll miut getline eine zeile eingelesen werden(vor- und nachname). das getline scheint er aber zu überspringen. Er gibt einfach nur aus:</p>
<p>Bitte Vor- und Nachname eingeben:<br />
Programmende</p>
<p>Hier der Code:</p>
<pre><code>//int und double
    cout &lt;&lt; endl &lt;&lt; &quot;int und double:&quot; &lt;&lt; endl;   
    double d;
    while ((cin &gt;&gt; i &gt;&gt; d)  &amp;&amp; (i != 0))
        cout &lt;&lt; i &lt;&lt; endl &lt;&lt; d &lt;&lt; endl;

    //ganze zeile als string lesen
    string name;
    cout &lt;&lt; &quot;Bitte Vor- und Nachname eingeben: &quot;;
    getline(cin, name);
    cout &lt;&lt; name;

    cout &lt;&lt; &quot;Programmende&quot; &lt;&lt; endl;
    cin &gt;&gt; i;
</code></pre>
<p>Der scheint vielleicht noch sowas wie nen leeren string im cin-puffer zu haben und liest nichts neues mehr ein.</p>
<p>wenn ich nur diesen teil</p>
<pre><code>//ganze zeile als string lesen
    string name;
    cout &lt;&lt; &quot;Bitte Vor- und Nachname eingeben: &quot;;
    getline(cin, name);
    cout &lt;&lt; name;
</code></pre>
<p>in nem neuen Programm eingebe, dann geht das. Warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219214</guid><dc:creator><![CDATA[stevewilson22]]></dc:creator><pubDate>Mon, 29 Jan 2007 14:05:04 GMT</pubDate></item><item><title><![CDATA[Reply to cin und getline on Mon, 29 Jan 2007 14:17:11 GMT]]></title><description><![CDATA[<p>Schreib mal ein</p>
<pre><code class="language-cpp">cin.get();
</code></pre>
<p>vor das getline!</p>
<p>PS:<br />
Also ich persönlich finde folgende Zeilen hässlich:</p>
<pre><code class="language-cpp">while ((cin &gt;&gt; i &gt;&gt; d)  &amp;&amp; (i != 0)) 
        cout &lt;&lt; i &lt;&lt; endl &lt;&lt; d &lt;&lt; endl;
</code></pre>
<p>Besser finde ich persönlich:</p>
<pre><code class="language-cpp">do
{
cout&lt;&lt;&quot; Bla bla bla !&quot;;
cin&gt;&gt;i;
cout&lt;&lt;&quot; Bla bla bla !&quot;;
cin&gt;&gt;d;
}
while(i!=0);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1219218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219218</guid><dc:creator><![CDATA[|M|]]></dc:creator><pubDate>Mon, 29 Jan 2007 14:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to cin und getline on Mon, 29 Jan 2007 14:19:25 GMT]]></title><description><![CDATA[<p>In Deiner Version hast Du eine Endlosschleife falls es bei cin zum fehler kam @|M|</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219219</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Mon, 29 Jan 2007 14:19:25 GMT</pubDate></item><item><title><![CDATA[Reply to cin und getline on Mon, 29 Jan 2007 14:21:24 GMT]]></title><description><![CDATA[<p>Okey, dann halt:</p>
<pre><code class="language-cpp">i=0;
do
{
cout&lt;&lt;&quot; Bla bla bla !&quot;;
cin&gt;&gt;i;
cout&lt;&lt;&quot; Bla bla bla !&quot;;
cin&gt;&gt;d;
}
while(i!=0);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1219222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219222</guid><dc:creator><![CDATA[|M|]]></dc:creator><pubDate>Mon, 29 Jan 2007 14:21:24 GMT</pubDate></item><item><title><![CDATA[Reply to cin und getline on Mon, 29 Jan 2007 14:32:27 GMT]]></title><description><![CDATA[<p>Immer noch nicht besser. Du wirst nicht drumherum kommen, den Status von cin mit in die Schleifensteuerung einzubeziehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219227</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 29 Jan 2007 14:32:27 GMT</pubDate></item><item><title><![CDATA[Reply to cin und getline on Mon, 29 Jan 2007 15:38:55 GMT]]></title><description><![CDATA[<p>da scheint noch ein '\n' im eingabepuffer zu stecken deshalb solltest du folgendes machen</p>
<pre><code class="language-cpp">while (cin.get()!='\n');
</code></pre>
<p>so kannst du das '\n' wieder rausziehen oder alternativ (aber nicht zu empfehlen):</p>
<pre><code class="language-cpp">fflush(stdin);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1219260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219260</guid><dc:creator><![CDATA[bill bones]]></dc:creator><pubDate>Mon, 29 Jan 2007 15:38:55 GMT</pubDate></item><item><title><![CDATA[Reply to cin und getline on Mon, 29 Jan 2007 18:29:08 GMT]]></title><description><![CDATA[<p>Das mit der while--schleife ist geschickter, da bei vorheriger eingabe von &quot;tab&quot; und enter, das getline auch wieder übersprungen wird. hab das gerade getestet. warum sollte man das &quot;flush&quot; nicht verwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219340</guid><dc:creator><![CDATA[stevewilson]]></dc:creator><pubDate>Mon, 29 Jan 2007 18:29:08 GMT</pubDate></item><item><title><![CDATA[Reply to cin und getline on Mon, 29 Jan 2007 18:36:02 GMT]]></title><description><![CDATA[<p>stevewilson schrieb:</p>
<blockquote>
<p>warum sollte man das &quot;flush&quot; nicht verwenden?</p>
</blockquote>
<p>weils kein standard ist und somit nicht portierbar (z.b. linux kann damit glaub' ich nix anfangen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219345</guid><dc:creator><![CDATA[bill bones]]></dc:creator><pubDate>Mon, 29 Jan 2007 18:36:02 GMT</pubDate></item><item><title><![CDATA[Reply to cin und getline on Mon, 29 Jan 2007 19:12:25 GMT]]></title><description><![CDATA[<p>besser und portierbar ist</p>
<p>while(getchar()!='\n');</p>
<p>man kann sich ja ein makro schreiben</p>
<p>#CLEAR() while(getchar()!='\n');</p>
<p>und dann immer mit CLEAR() den stream leeren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219361</guid><dc:creator><![CDATA[Fedaykin]]></dc:creator><pubDate>Mon, 29 Jan 2007 19:12:25 GMT</pubDate></item><item><title><![CDATA[Reply to cin und getline on Tue, 30 Jan 2007 07:15:35 GMT]]></title><description><![CDATA[<p>Warum wollt ihr unbedingt etwas eigenes über getchar() basteln? Für das Problem liefert cin doch die korrekte Lösung: ignore().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219533</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 30 Jan 2007 07:15:35 GMT</pubDate></item></channel></rss>