<?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[Anfänger benötigt Hilfe bei getline()]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich habe mich vor ein paar Tagen erstmals mit der C++ - Thematik befasst und komme bei einer Sache nicht wirklich weiter.</p>
<p>Ich versuche mich daran, Strings mit der getline()-Funktion auszulesen. Leider will das überhaupt nicht klappen. Wenn ich das hier erzeuge, wird mir gar nichts ausgegeben:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main (void)
{
  string abc=&quot;Lalala&quot;;
  getline(cin, abc);
  cout &lt;&lt; abc &lt;&lt; endl;

	system (&quot;Pause&quot;);
	return 0;
}
</code></pre>
<p>Und wenn ich den String per getline() in eine anderere String-Variable kopieren will, wird mir der Fehler C2679 - Binärer Operator '=' ..... ausgegeben.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main (void)
{
  string cba;
  string abc=&quot;Lalala&quot;;
  cba=getline(cin, abc);
  cout &lt;&lt; cba &lt;&lt; endl;

	system (&quot;Pause&quot;);
	return 0;
}
</code></pre>
<p>Schonmal Danke für eure Antworten. Ich wäre euch ebenfalls verbunden, wenn ihr mir auf &quot;Einsteiger-Level&quot; helfen könntet. Alternative Wege, das zu lösen, bringen mich nicht weiter, da die getline-Geschichte in meinem Informatik-Skript als Lernstoff vorgegeben ist.<br />
Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/322957/anfänger-benötigt-hilfe-bei-getline</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 11:27:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322957.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 13 Jan 2014 16:05:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfänger benötigt Hilfe bei getline() on Mon, 13 Jan 2014 16:05:00 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich habe mich vor ein paar Tagen erstmals mit der C++ - Thematik befasst und komme bei einer Sache nicht wirklich weiter.</p>
<p>Ich versuche mich daran, Strings mit der getline()-Funktion auszulesen. Leider will das überhaupt nicht klappen. Wenn ich das hier erzeuge, wird mir gar nichts ausgegeben:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main (void)
{
  string abc=&quot;Lalala&quot;;
  getline(cin, abc);
  cout &lt;&lt; abc &lt;&lt; endl;

	system (&quot;Pause&quot;);
	return 0;
}
</code></pre>
<p>Und wenn ich den String per getline() in eine anderere String-Variable kopieren will, wird mir der Fehler C2679 - Binärer Operator '=' ..... ausgegeben.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main (void)
{
  string cba;
  string abc=&quot;Lalala&quot;;
  cba=getline(cin, abc);
  cout &lt;&lt; cba &lt;&lt; endl;

	system (&quot;Pause&quot;);
	return 0;
}
</code></pre>
<p>Schonmal Danke für eure Antworten. Ich wäre euch ebenfalls verbunden, wenn ihr mir auf &quot;Einsteiger-Level&quot; helfen könntet. Alternative Wege, das zu lösen, bringen mich nicht weiter, da die getline-Geschichte in meinem Informatik-Skript als Lernstoff vorgegeben ist.<br />
Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377122</guid><dc:creator><![CDATA[Effarr_1]]></dc:creator><pubDate>Mon, 13 Jan 2014 16:05:00 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger benötigt Hilfe bei getline() on Mon, 13 Jan 2014 16:14:06 GMT]]></title><description><![CDATA[<p>Das erste Programm ist schon korrekt und sollte etwas ausgeben (sofern du etwas eingibst). Streng genommen fehlt ein <code>#include&lt;cstdlib&gt;</code> für <code>system</code> , aber das erklärt nicht deinen Fehler. Guckst du hier: <a href="https://ideone.com/HW26VQ" rel="nofollow">https://ideone.com/HW26VQ</a></p>
<blockquote>
<p>Und wenn ich den String per getline() in eine anderere String-Variable kopieren will, wird mir der Fehler C2679 - Binärer Operator '=' ..... ausgegeben.</p>
</blockquote>
<p>Hier wiederum ist dein Versuch völlig falsch. getline gibt keinen String zurück, es verändert den übergebenen String. Der Rückgabewert von getline ist der Stream aus dem gelesen wurde (so dass man Fehlerflags prüfen kann oder Leseanweisungen aneinander ketten kann) und einen Stream kann man keinem String zuweisen, das ist keine sinnvolle Operation.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377126</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 13 Jan 2014 16:14:06 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger benötigt Hilfe bei getline() on Mon, 13 Jan 2014 16:15:23 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>zum 1. Quellcode: Du musst schon erst etwas eingeben, bevor er was ausgeben kann. Un die Initialisierung mit LALALA kannst du dir sparen, wird ja sofort überschrieben, weil du was eingibst.</p>
<p>zum 2. Quellcode: <a href="http://www.cplusplus.com/reference/string/string/getline/" rel="nofollow">http://www.cplusplus.com/reference/string/string/getline/</a> wie du siehst gibt getline den Stream zurück, den du ihm übergibst (cin). cin kannst du natürlich nicht einem string zuweisen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377128</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 13 Jan 2014 16:15:23 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger benötigt Hilfe bei getline() on Tue, 14 Jan 2014 06:08:29 GMT]]></title><description><![CDATA[<p>Erstmal Danke an euch zwei für eure Antworten. Ich glaube, ich komme der Geschichte etwas näher. Um es mal in meinen Worten auszudrücken: Die getline()-Funktion kann gar nicht in einen String1 kopiert werden, weil sie in sich nur einem String2 eine Eingabe zuweist und somit als Rückgabewert gar nicht die Eingabe an sich liefert. Richtig?</p>
<p>Was mich so irritiert hat, war der Text Code in meinem Skript:</p>
<pre><code>string a;
a= getline (cin, a, '?');
//In a wird bis zu einem Fragezeichen eingelesen, also
//bei Eingabe von &quot;Alle meine Entchen? Schwimmen auf
//dem See&quot;, wird &quot;Alle meine Entchen&quot; im String a gespeichert.
</code></pre>
<p>Dann ist der doch schlicht und einfach falsch, weil hier (wie ich es zuerst machte) versucht wurde, der String-Variablen &quot;a&quot; den Rückgabewert von getline() zuzuordnen, oder?</p>
<p>Wenn ich mir jetzt den Sinn hinter getline() anschaue, dann fällt mir im Vergleich zu der &quot;cin &gt;&gt; stringvariable;&quot; Methode auf, dass zuerst mal Whitespaces mitgelesen werden und der Bereich der Eingabe (bspw: bis zu dem Zeichen &quot;?&quot;)bestimmt werden kann. Liege ich mit meiner Begründung ebenfalls richtig?</p>
<p>Sorry für die vielen Fragen, aber im Netz finde ich entweder sehr oberflächliche Beiträge zu getline(), oder eben sehr ausführliche Texte, die tief in die Materie gehen und mir als absolutem Beginner eher noch mehr Fragezeichen aufwerfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377199</guid><dc:creator><![CDATA[Effarr_1]]></dc:creator><pubDate>Tue, 14 Jan 2014 06:08:29 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger benötigt Hilfe bei getline() on Tue, 14 Jan 2014 10:42:23 GMT]]></title><description><![CDATA[<p>Effarr_1 schrieb:</p>
<blockquote>
<p>Ich glaube, ich komme der Geschichte etwas näher. Um es mal in meinen Worten auszudrücken: Die getline()-Funktion kann gar nicht in einen String1 kopiert werden, weil sie in sich nur einem String2 eine Eingabe zuweist und somit als Rückgabewert gar nicht die Eingabe an sich liefert. Richtig?</p>
</blockquote>
<p>Gewöhn Dir lieber gar nicht erst an C++ in &quot;Deinen Worten&quot; auszudrücken, geschweige denn zu versuchen C++ zu interpretieren.<br />
C++ lässt grundsätzlich keinen Raum für Interpretationen und wenn Du Dich der Fachsprache bedienst versteht Dich jeder.<br />
Häufig ist sogar C++ die beste Sprache, um über C++ zu diskutieren. Z.B. aus der Referenz, die out gepostet hat die <em>Deklaration</em> von <code>std::getline()</code> :</p>
<pre><code class="language-cpp">istream&amp; getline (istream&amp; is, string&amp; str, char delim);
</code></pre>
<p>Das reicht schon um Deine richtige Aussage zu untermauern:</p>
<p>Effarr_1 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">string a;
a= getline (cin, a, '?');
</code></pre>
<p>Dann ist der doch schlicht und einfach falsch, weil hier (wie ich es zuerst machte) versucht wurde, der String-Variablen &quot;a&quot; den Rückgabewert von getline() zuzuordnen, oder?</p>
</blockquote>
<p>Man spricht allerdings von einer <em>Zuweisung</em> und nicht von einer Zuordnung. Und die Zuweisung findet auch nicht &quot;zuerst&quot; statt.</p>
<p>Der Fehler in Deinem Skript ist ärgerlich, aber nur ein Flüchtigkeitsfehler (das würde noch nichtmal kompilieren).</p>
<p>Natürlich reicht die <em>Deklaration</em> nicht um zu wissen, <em>was</em> eine Funktion macht - an der Stelle kommst Du um das Lesen der Dokumentation nicht herum. Sieh Dir dazu nochmal outs link an - da wird genau beschrieben, was <code>getline</code> macht. In einer knappen, präzisen Sprache.</p>
<p>Zur weiteren Lektüre hier <a href="http://www.cplusplus.com/reference/string/basic_string/operator%3E%3E/" rel="nofollow">http://www.cplusplus.com/reference/string/basic_string/operator%3E%3E/</a> die Dokumentation des <code>operator&gt;&gt;()</code> für einen <code>std::string</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377228</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Tue, 14 Jan 2014 10:42:23 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger benötigt Hilfe bei getline() on Tue, 14 Jan 2014 22:33:30 GMT]]></title><description><![CDATA[<p>Danke auch dir für deine Antwort. Ich verstehe absolut den Ansatz, über C++ am besten in C++ zu diskutieren, jedoch gestaltet sich das am Anfang einfach schwer. Das ist eben, als würde man einem Schüler in der aller ersten Englisch-Unterrichtsstunde das Wort &quot;car&quot; mit &quot;It has 4 wheels and it is driven on the road&quot; erklären. Wenn man kein einziges Wort englisch versteht, hilft einem das nicht wirklich weiter und man muss für sich erstmal den Begriff im Kopf als Auto visualisieren/verstehen.</p>
<p>Es heißt &quot;Zuweisung&quot;, du hast absolut recht. Mit &quot;zuerst&quot; meinte ich lediglich, dass ich es selbst davor exakt so geschrieben hatte und keinen Ablauf im Programm.</p>
<p>Die Quellen habe ich durchgelesen und denke, dass ich die getline-Thematik nun verstanden habe.</p>
<p>Bei Bedarf kann somit geschlossen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377333</guid><dc:creator><![CDATA[Effar_1]]></dc:creator><pubDate>Tue, 14 Jan 2014 22:33:30 GMT</pubDate></item></channel></rss>