<?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[Zeichenkette von Konsole lesen]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich muss für die Uni ein kleines Programm schreiben, welches zwei Zechenketten einliest und die Zeichen durcheinander wirft. Das hört sich einfach an, ich bekomme es aber nicht auf die Reihe.<br />
Das Problem: Wir dürfen für diese Aufgabe nicht die C++ String Klasse und keine klassischen Funktionen aus &lt;string.h&gt; benutzen.<br />
Außerdem müssen wir beliebig lange Zeichenketten behandeln können.<br />
(Ich lerne erst seit einer Woche C++)</p>
<p>mein ansatz:</p>
<pre><code class="language-csharp">#include &lt;iostream&gt;

using namespace std;

typedef struct {
    char text[10];
    void *next;
} buffer;

int main(){

buffer* buf = new Buffer;

		cout &lt;&lt; &quot;jetzt was eingeben:&quot;;
while(*solange bis der cin buffer leer ist*)
{
  cin.getline(buf.text, 10);
}

}
</code></pre>
<p>Natürlich funktioniert das noch nicht:</p>
<ul>
<li>Wie teste ich, ob noch was in cin steht, was ich noch nicht in meinen buffer geschrieben habe</li>
<li>ist der aufruf cin.getline(buf.text, 10); richitg? d.h. schreibe ich tatsächlich 10 zeichen in mien char-Array &quot;text&quot;?</li>
</ul>
<p>Danke schonmal für Eure Hilfe.</p>
<p>Ein Lerndender.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/212574/zeichenkette-von-konsole-lesen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 17:24:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/212574.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 07 May 2008 20:28:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeichenkette von Konsole lesen on Wed, 07 May 2008 20:28:15 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich muss für die Uni ein kleines Programm schreiben, welches zwei Zechenketten einliest und die Zeichen durcheinander wirft. Das hört sich einfach an, ich bekomme es aber nicht auf die Reihe.<br />
Das Problem: Wir dürfen für diese Aufgabe nicht die C++ String Klasse und keine klassischen Funktionen aus &lt;string.h&gt; benutzen.<br />
Außerdem müssen wir beliebig lange Zeichenketten behandeln können.<br />
(Ich lerne erst seit einer Woche C++)</p>
<p>mein ansatz:</p>
<pre><code class="language-csharp">#include &lt;iostream&gt;

using namespace std;

typedef struct {
    char text[10];
    void *next;
} buffer;

int main(){

buffer* buf = new Buffer;

		cout &lt;&lt; &quot;jetzt was eingeben:&quot;;
while(*solange bis der cin buffer leer ist*)
{
  cin.getline(buf.text, 10);
}

}
</code></pre>
<p>Natürlich funktioniert das noch nicht:</p>
<ul>
<li>Wie teste ich, ob noch was in cin steht, was ich noch nicht in meinen buffer geschrieben habe</li>
<li>ist der aufruf cin.getline(buf.text, 10); richitg? d.h. schreibe ich tatsächlich 10 zeichen in mien char-Array &quot;text&quot;?</li>
</ul>
<p>Danke schonmal für Eure Hilfe.</p>
<p>Ein Lerndender.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505165</guid><dc:creator><![CDATA[EinLernender]]></dc:creator><pubDate>Wed, 07 May 2008 20:28:15 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenkette von Konsole lesen on Thu, 08 May 2008 06:32:12 GMT]]></title><description><![CDATA[<p>Verwende std::string statt char-arrays</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;
using namespace std;

int main()
{
    string text1, text2;
    cout &lt;&lt; &quot;1. Text: &quot;;
    getline(cin, text1);
    cout &lt;&lt; &quot;2. Text: &quot;;
    getline(cin, text2);
}
</code></pre>
<p>somit hättest Du zwei beliebig lange Zeichenketten eingelesen. Musst sie nur noch durcheinander bringen <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/1505241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505241</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Thu, 08 May 2008 06:32:12 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenkette von Konsole lesen on Thu, 08 May 2008 08:19:16 GMT]]></title><description><![CDATA[<p>Da ihr keine strings verwenden dürft wäre mein empfehlung<br />
zwei vector&lt;char&gt; anzulegen und in diese mit einer kleinen Funktion</p>
<p>ungefähr so ...</p>
<pre><code class="language-cpp">void liesString(vector&lt;char&gt;&amp; v)
{
    char c;
    while(true);
    {
        cin.get(c);
        //bricht die Eingabe ab wenn ENTER gedrückt wird
        if(c=='\n');
            break;
        //schreibt den char an die letzte Stelle des vectors
        v.push_back(v);
    }
}
</code></pre>
<p>... einzulesen</p>
<p>Da du dann die beiden pseudo strings in zwei vectoren hast kannst du<br />
sie relativ einfach mit weiteren STL funktionen weiterverarbeiten.</p>
<p>Also ... zusammenkopieren, duplikate entfernen, vermischen etc. etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505321</guid><dc:creator><![CDATA[dark-eye]]></dc:creator><pubDate>Thu, 08 May 2008 08:19:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenkette von Konsole lesen on Thu, 08 May 2008 18:39:05 GMT]]></title><description><![CDATA[<p>Hallo Dark-eye,<br />
danke für Deine Hilfe. Ich habe es hinbekommen.<br />
Allerdings musste ich die while schleife so abändern:</p>
<pre><code class="language-cpp">while((c = cin.get()) != '\n') {...}
</code></pre>
<p>um das programm compilieren zu können.</p>
<p>gruß,<br />
einLernender</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505628</guid><dc:creator><![CDATA[EinLernender]]></dc:creator><pubDate>Thu, 08 May 2008 18:39:05 GMT</pubDate></item></channel></rss>