<?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[Warum kann ich im ersten Array einer Liste nichts mit std :: cin.getline() speichern?]]></title><description><![CDATA[<p>Hi,<br />
Mithilfe von Listen kann man ja mehr oder weniger einfach eine nicht bekannte Anzahl an Variable erstellen. Hab das Prinzip verstanden und die (Test-)Programme laufen auch gut. Aber warum wird beim ersten ausführen der for-Schleife immer die std :: cin.getline()-Anweisung übersprungen?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;

struct MyOwnList
{
    char data[255];
    //warum geht hier nicht: char data[255] = {'\0',}; ?
    MyOwnList *next;
};

int main()
{
    int NumberOfMyListPoints;//Gibt die Größe der Liste an
    MyOwnList *PointInList = NULL; //&quot;Anker&quot;=&gt;Pointer auf den nächsten Wert
    MyOwnList *buffer = NULL; //Zum löschen....
    std :: cout &lt;&lt; &quot;Geben sie die Menge an&quot; &lt;&lt; std :: endl;
    std :: cin &gt;&gt; NumberOfMyListPoints;
    for (int i = 1; i &lt;= NumberOfMyListPoints; i++)
    {
        MyOwnList *temp = new MyOwnList; //Neue Liste erstellen
        //for (int ii = 0; ii &lt;= 255; ii++) temp-&gt;data[i] = '\0'; =&gt; bringt auch nix
        std :: cout &lt;&lt; &quot;Inhalt: &quot;;
        std :: cin.getline(temp-&gt;data,255);
        temp-&gt;next = PointInList; //temp.next auf den &quot;Anker&quot; zeigen lassen
        PointInList = temp;        //Anker zeigt auf temp
    }
    //Ja ich weiss die Ausgabe ist rückwärst, für das Beispiel aber nicht schlimm...
    for (int i = 1; i &lt;= NumberOfMyListPoints; i++)
    {
        std :: cout &lt;&lt; std :: endl;
        std :: cout &lt;&lt; &quot;Inhalt: &quot; &lt;&lt; PointInList-&gt;data &lt;&lt; std :: endl;
        buffer = PointInList;
        PointInList = PointInList-&gt;next;
        delete buffer;
    }
    getchar();
}
</code></pre>
<p>Mit std :: cin &gt;&gt; gehts ohne Problme und bei std :: cin.getline() ist das Problem wie gesagt bei der ersten Variable? Warum?<br />
Die Variable mit '\0' zu füllen brachte nichts(2.for-Schleife) bzw. wollte mein Compiler nicht als korrekt ansehen(struct...-Warum eigentlich)<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/176664/warum-kann-ich-im-ersten-array-einer-liste-nichts-mit-std-cin-getline-speichern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 15:24:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/176664.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Mar 2007 13:23:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum kann ich im ersten Array einer Liste nichts mit std :: cin.getline() speichern? on Fri, 23 Mar 2007 13:23:23 GMT]]></title><description><![CDATA[<p>Hi,<br />
Mithilfe von Listen kann man ja mehr oder weniger einfach eine nicht bekannte Anzahl an Variable erstellen. Hab das Prinzip verstanden und die (Test-)Programme laufen auch gut. Aber warum wird beim ersten ausführen der for-Schleife immer die std :: cin.getline()-Anweisung übersprungen?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;

struct MyOwnList
{
    char data[255];
    //warum geht hier nicht: char data[255] = {'\0',}; ?
    MyOwnList *next;
};

int main()
{
    int NumberOfMyListPoints;//Gibt die Größe der Liste an
    MyOwnList *PointInList = NULL; //&quot;Anker&quot;=&gt;Pointer auf den nächsten Wert
    MyOwnList *buffer = NULL; //Zum löschen....
    std :: cout &lt;&lt; &quot;Geben sie die Menge an&quot; &lt;&lt; std :: endl;
    std :: cin &gt;&gt; NumberOfMyListPoints;
    for (int i = 1; i &lt;= NumberOfMyListPoints; i++)
    {
        MyOwnList *temp = new MyOwnList; //Neue Liste erstellen
        //for (int ii = 0; ii &lt;= 255; ii++) temp-&gt;data[i] = '\0'; =&gt; bringt auch nix
        std :: cout &lt;&lt; &quot;Inhalt: &quot;;
        std :: cin.getline(temp-&gt;data,255);
        temp-&gt;next = PointInList; //temp.next auf den &quot;Anker&quot; zeigen lassen
        PointInList = temp;        //Anker zeigt auf temp
    }
    //Ja ich weiss die Ausgabe ist rückwärst, für das Beispiel aber nicht schlimm...
    for (int i = 1; i &lt;= NumberOfMyListPoints; i++)
    {
        std :: cout &lt;&lt; std :: endl;
        std :: cout &lt;&lt; &quot;Inhalt: &quot; &lt;&lt; PointInList-&gt;data &lt;&lt; std :: endl;
        buffer = PointInList;
        PointInList = PointInList-&gt;next;
        delete buffer;
    }
    getchar();
}
</code></pre>
<p>Mit std :: cin &gt;&gt; gehts ohne Problme und bei std :: cin.getline() ist das Problem wie gesagt bei der ersten Variable? Warum?<br />
Die Variable mit '\0' zu füllen brachte nichts(2.for-Schleife) bzw. wollte mein Compiler nicht als korrekt ansehen(struct...-Warum eigentlich)<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251132</guid><dc:creator><![CDATA[Pille456]]></dc:creator><pubDate>Fri, 23 Mar 2007 13:23:23 GMT</pubDate></item><item><title><![CDATA[Reply to Warum kann ich im ersten Array einer Liste nichts mit std :: cin.getline() speichern? on Fri, 23 Mar 2007 13:29:27 GMT]]></title><description><![CDATA[<p>Pille456 schrieb:</p>
<blockquote>
<p>Mit std :: cin &gt;&gt; gehts ohne Problme und bei std :: cin.getline() ist das Problem wie gesagt bei der ersten Variable? Warum?</p>
</blockquote>
<p>Vor dem ersten getline() Aufruf stehen noch die Reste der früheren Eingabe (cin&gt;&gt;Number;) im Eingabepuffer - die mußt du erst per ignore() entsorgen, bevor du &quot;richtig&quot; einlesen kannst.</p>
<blockquote>
<p>Die Variable mit '\0' zu füllen brachte nichts(2.for-Schleife) bzw. wollte mein Compiler nicht als korrekt ansehen(struct...-Warum eigentlich)<br />
Danke</p>
</blockquote>
<p>Struct-Member kannst du nicht bei der Deklaration füllen, sondern erst im Ctor (wenn das überhaupt nötig ist).</p>
<p>PS: Was spricht eigentlich dagegen, std::string und std::list zu verwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251137</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 23 Mar 2007 13:29:27 GMT</pubDate></item><item><title><![CDATA[Reply to Warum kann ich im ersten Array einer Liste nichts mit std :: cin.getline() speichern? on Fri, 23 Mar 2007 13:32:39 GMT]]></title><description><![CDATA[<p>Nichts^^<br />
Im &quot;richtigen&quot; Programm nutze ich auch lieber std::string bzw. list aber das war nur mal zum rumprobieren und besseren verstehen...<br />
Danke <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>
<p>p.s. was meinst du mit Ctor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251142</guid><dc:creator><![CDATA[Pille456]]></dc:creator><pubDate>Fri, 23 Mar 2007 13:32:39 GMT</pubDate></item><item><title><![CDATA[Reply to Warum kann ich im ersten Array einer Liste nichts mit std :: cin.getline() speichern? on Fri, 23 Mar 2007 13:34:43 GMT]]></title><description><![CDATA[<p>Pille456 schrieb:</p>
<blockquote>
<p>p.s. was meinst du mit Ctor?</p>
</blockquote>
<p>Konstruktor<br />
(auch structs dürfen einen haben, wenn du ihn benötigst ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251145</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 23 Mar 2007 13:34:43 GMT</pubDate></item><item><title><![CDATA[Reply to Warum kann ich im ersten Array einer Liste nichts mit std :: cin.getline() speichern? on Fri, 23 Mar 2007 14:02:06 GMT]]></title><description><![CDATA[<p>hehe achso <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/1251162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251162</guid><dc:creator><![CDATA[Pille456]]></dc:creator><pubDate>Fri, 23 Mar 2007 14:02:06 GMT</pubDate></item></channel></rss>