<?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[structure char array mit getline einlesen geht nicht]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgender Code:</p>
<pre><code class="language-cpp">struct Buch
    {
        char autor[20];
        char vorname[15];
        char buchtitel[30];
        int jahr;
        float preis;
    };

    int saetze;
    cout &lt;&lt; &quot;Wieviele Datensätze erstellen? : &quot;;
    cin &gt;&gt; saetze;

    Buch buchTab[saetze];

    for(int i = 0; i &lt; saetze; ++i)
    {
        cout &lt;&lt; i + 1 &lt;&lt; &quot;. Datensatz: &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;---------------&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Autor (Nachname): &quot;;
        cin &gt;&gt; buchTab[i].autor;
        cout &lt;&lt; &quot;Vorname: &quot;;
        cin &gt;&gt; buchTab[i].vorname;
        cout &lt;&lt; &quot;Buchtitel: &quot;;
        cin.getline(buchTab[i].buchtitel, 30); // hier läuft was schief
        cout &lt;&lt; &quot;Jahr: &quot;;
        cin &gt;&gt; buchTab[i].jahr;
        cout &lt;&lt; &quot;Preis: &quot;;
        cin &gt;&gt; buchTab[i].preis;
        cout &lt;&lt; endl;
    }
</code></pre>
<p>Die Zeile</p>
<pre><code class="language-cpp">cin.getline(buchTab[i].buchtitel, 30);
</code></pre>
<p>läuft irgendwie schief. Irgendwie will das Programm dann keine Eingabe haben, sondern überspringt die getline-Eingabe einfach. Warum ist das so?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/308134/structure-char-array-mit-getline-einlesen-geht-nicht</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 02:04:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/308134.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 16 Sep 2012 07:06:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Sun, 16 Sep 2012 14:30:50 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgender Code:</p>
<pre><code class="language-cpp">struct Buch
    {
        char autor[20];
        char vorname[15];
        char buchtitel[30];
        int jahr;
        float preis;
    };

    int saetze;
    cout &lt;&lt; &quot;Wieviele Datensätze erstellen? : &quot;;
    cin &gt;&gt; saetze;

    Buch buchTab[saetze];

    for(int i = 0; i &lt; saetze; ++i)
    {
        cout &lt;&lt; i + 1 &lt;&lt; &quot;. Datensatz: &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;---------------&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Autor (Nachname): &quot;;
        cin &gt;&gt; buchTab[i].autor;
        cout &lt;&lt; &quot;Vorname: &quot;;
        cin &gt;&gt; buchTab[i].vorname;
        cout &lt;&lt; &quot;Buchtitel: &quot;;
        cin.getline(buchTab[i].buchtitel, 30); // hier läuft was schief
        cout &lt;&lt; &quot;Jahr: &quot;;
        cin &gt;&gt; buchTab[i].jahr;
        cout &lt;&lt; &quot;Preis: &quot;;
        cin &gt;&gt; buchTab[i].preis;
        cout &lt;&lt; endl;
    }
</code></pre>
<p>Die Zeile</p>
<pre><code class="language-cpp">cin.getline(buchTab[i].buchtitel, 30);
</code></pre>
<p>läuft irgendwie schief. Irgendwie will das Programm dann keine Eingabe haben, sondern überspringt die getline-Eingabe einfach. Warum ist das so?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2251543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2251543</guid><dc:creator><![CDATA[ubik]]></dc:creator><pubDate>Sun, 16 Sep 2012 14:30:50 GMT</pubDate></item><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Sun, 16 Sep 2012 07:17:54 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Bitte keine Fett-Tags in Code-Tags benutzen, dann funktioniert letzteres nicht.</p>
<pre><code class="language-cpp">struct Buch 
{ 
        char autor[20]; 
        char vorname[15]; 
        char buchtitel[30]; 
        int jahr; 
        float preis; 
}; 

int saetze; 
cout &lt;&lt; &quot;Wieviele Datensätze erstellen? : &quot;; 
cin &gt;&gt; saetze; 

Buch buchTab[saetze]; 

for(int i = 0; i &lt; saetze; ++i) 
{ 
        cout &lt;&lt; i + 1 &lt;&lt; &quot;. Datensatz: &quot; &lt;&lt; endl; 
        cout &lt;&lt; &quot;---------------&quot; &lt;&lt; endl; 
        cout &lt;&lt; &quot;Autor (Nachname): &quot;; 
        cin &gt;&gt; buchTab[i].autor; 
        cout &lt;&lt; &quot;Vorname: &quot;; 
        cin &gt;&gt; buchTab[i].vorname; 
        cout &lt;&lt; &quot;Buchtitel: &quot;; 
        cin.getline(buchTab[i].buchtitel, 30); 
        cout &lt;&lt; &quot;Jahr: &quot;; 
        cin &gt;&gt; buchTab[i].jahr; 
        cout &lt;&lt; &quot;Preis: &quot;; 
        cin &gt;&gt; buchTab[i].preis; 
        cout &lt;&lt; endl; 
}
</code></pre>
<p>Vielleicht kommst du mal auf die Idee, statt C-Arrays ordentlich std::string zu benutzen. Dann schreibt man nämlich</p>
<pre><code class="language-cpp">std::getline(std::cin, meinString);
</code></pre>
<p>Bitte auch beim nächsten Mal vielleicht ein kurzes, kompilierbares Beispiel reproduzieren.<br />
Außerdem fehlen dir möglicherweise Grundlagen, sieh dir mal ein Paar gute Bücher an.</p>
<p><strong>Was dein Problem angeht:</strong> Schreib vor der <code>getline</code> -Zeile</p>
<pre><code class="language-cpp">std::cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(), '\n');
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2251544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2251544</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 16 Sep 2012 07:17:54 GMT</pubDate></item><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Sun, 16 Sep 2012 07:18:55 GMT]]></title><description><![CDATA[<p>Übrigens sind VLAs ein GCC-Feature, also tu uns den Gefallen und nimm einfach<a href="http://www.cplusplus.com/reference/stl/vector/" rel="nofollow"> <code>std::vector</code> </a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2251545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2251545</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 16 Sep 2012 07:18:55 GMT</pubDate></item><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Sun, 16 Sep 2012 13:43:09 GMT]]></title><description><![CDATA[<p>Könnte man auch einen Zeiger in eine struct-Anweisung einbauen?</p>
<p>Ich möchte die Information über getline in ein char-Array speichern.</p>
<pre><code class="language-cpp">char *Txt;
getline(Txt, 30);
</code></pre>
<p>Geht das auch, dass ich den Zeiger Txt in eine struct-Anweisung packe?</p>
<p>(Ich bin übrigens C++ Neuling)</p>
<p>Warum geht folgendes</p>
<pre><code class="language-cpp">char zeile[20];
cin.getline(zeile, 19);
</code></pre>
<p>und warum geht es mit einer struct-Anweisung nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2251631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2251631</guid><dc:creator><![CDATA[ubik]]></dc:creator><pubDate>Sun, 16 Sep 2012 13:43:09 GMT</pubDate></item><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Sun, 16 Sep 2012 13:51:47 GMT]]></title><description><![CDATA[<p>Was ist eine struct-Anweisung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2251634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2251634</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 16 Sep 2012 13:51:47 GMT</pubDate></item><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Sun, 16 Sep 2012 14:14:24 GMT]]></title><description><![CDATA[<p>Das da:</p>
<pre><code class="language-cpp">struct Buch 
{ 
        char autor[20]; 
        char vorname[15]; 
        char buchtitel[30]; 
        int jahr; 
        float preis; 
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2251638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2251638</guid><dc:creator><![CDATA[ubik]]></dc:creator><pubDate>Sun, 16 Sep 2012 14:14:24 GMT</pubDate></item><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Mon, 17 Sep 2012 08:14:10 GMT]]></title><description><![CDATA[<p>ubik schrieb:</p>
<blockquote>
<p>Das da:</p>
</blockquote>
<p>... nennt sich <em>Definition</em>, ist aber keine Anweisung. Das C++-Buch deiner Wahl sollte dir die richtigen Begrifflichkeiten deutlich machen - damit du die Unterschiede kennst und wir uns gegenseitig verstehen, d.h. die gleiche Sprache sprechen.</p>
<p>Zeile 14 enthält das von Sone angesprochene VLA, was kein gültiges C++ ist - auch wenn dein Compiler es vielleicht schluckt.</p>
<p>ubik schrieb:</p>
<blockquote>
<p>... läuft irgendwie schief. Irgendwie ...</p>
</blockquote>
<p>&quot;Irgendwie&quot; ist das keine besonders glückliche Fehlerbeschreibung. Was sind genau deine Eingaben, und was erwartest du? Was sagt dir der Debugger? Lies dir bitte auch die Links in meiner Signatur durch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2251784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2251784</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 17 Sep 2012 08:14:10 GMT</pubDate></item><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Mon, 17 Sep 2012 17:38:45 GMT]]></title><description><![CDATA[<p>Dann ist das Buch, das ich gerade durchgehe, einfach nur Schrott und veraltet.</p>
<p>Ich möchte mit</p>
<pre><code class="language-cpp">char buchtitel[30]
</code></pre>
<p>einen String mit Leerzeichen eingeben können (z. B. &quot;Grundlagen der C++ Programmierung&quot;). Ich erwarte, dass er solche Eingaben in den char-String buchtitel speichert.</p>
<p>Das Buch behandelt im Moment noch keine Vektoren, bis jetzt auch nur Strings in Form von char-Arrays.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2252068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252068</guid><dc:creator><![CDATA[ubik]]></dc:creator><pubDate>Mon, 17 Sep 2012 17:38:45 GMT</pubDate></item><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Mon, 17 Sep 2012 19:23:10 GMT]]></title><description><![CDATA[<p>ubik schrieb:</p>
<blockquote>
<p>Das Buch behandelt im Moment noch keine Vektoren, bis jetzt auch nur Strings in Form von char-Arrays.</p>
</blockquote>
<p>Sicher, dass das kein C-Buch ist? Falls ja: Wirklich damit aufhören. Dringend. Siehe zweiten Link in meiner Signatur für Buchtipps.</p>
<p>ubik schrieb:</p>
<blockquote>
<p>Ich möchte mit</p>
<pre><code class="language-cpp">char buchtitel[30]
</code></pre>
<p>einen String mit Leerzeichen eingeben können (z. B. &quot;Grundlagen der C++ Programmierung&quot;). Ich erwarte, dass er solche Eingaben in den char-String buchtitel speichert.</p>
</blockquote>
<pre><code class="language-cpp">cin.getline(buchtitel, 30);
</code></pre>
<p>Und tu das nicht. Nimm std::string, außer du hast einen enorm guten Grund, dies nicht zu tun. (std::string nicht zu kennen ist kein guter Grund <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2252103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252103</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 17 Sep 2012 19:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Mon, 17 Sep 2012 19:35:59 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Nimm std::string, außer du hast einen enorm guten Grund, dies nicht zu tun.</p>
</blockquote>
<p>Ist eine masochistische Veranlagung ein solcher Grund? <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/2252112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252112</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Mon, 17 Sep 2012 19:35:59 GMT</pubDate></item><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Mon, 17 Sep 2012 20:09:22 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Nimm std::string, außer du hast einen enorm guten Grund, dies nicht zu tun.</p>
</blockquote>
<p>Ist eine masochistische Veranlagung ein solcher Grund? <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>
</blockquote>
<p>Ja, aber dafür gibt es bessere Befriedigungsmethoden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2252118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252118</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 17 Sep 2012 20:09:22 GMT</pubDate></item><item><title><![CDATA[Reply to structure char array mit getline einlesen geht nicht on Tue, 18 Sep 2012 11:24:08 GMT]]></title><description><![CDATA[<p>Ok, danke für alle eure Antworten.</p>
<p>Das Buch ist offensichtlich schrott und veraltet. Es handelt sich um &quot;Grundkurs Software Entwicklung mit C++&quot; von Dietrich May.</p>
<p>Thema ist erledigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2252288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252288</guid><dc:creator><![CDATA[ubik]]></dc:creator><pubDate>Tue, 18 Sep 2012 11:24:08 GMT</pubDate></item></channel></rss>