<?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[std::cin manipulieren?]]></title><description><![CDATA[<p>Guten Morgen zusammen,</p>
<p>ich habe ein Programm mit der IC geschrieben und dieses Programm erwartet eine Eingabe. Diese Eingabe ist, wenn sie korrekt, ist immer 6 Zeichen lang. Da rechts von der Eingabe etwas steht und nur 3 Zeichen Platz, bei korrekter Eingabe, dazwischen ist und die Eingabe die Ausgabe überschreibt, hier meine Frage.</p>
<p>Ist es möglich mit <code>std::cin</code> nur eine gewisse Anzahl von Zeichen einzulesen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/296160/std-cin-manipulieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 03:30:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296160.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Nov 2011 10:03:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 10:03:16 GMT]]></title><description><![CDATA[<p>Guten Morgen zusammen,</p>
<p>ich habe ein Programm mit der IC geschrieben und dieses Programm erwartet eine Eingabe. Diese Eingabe ist, wenn sie korrekt, ist immer 6 Zeichen lang. Da rechts von der Eingabe etwas steht und nur 3 Zeichen Platz, bei korrekter Eingabe, dazwischen ist und die Eingabe die Ausgabe überschreibt, hier meine Frage.</p>
<p>Ist es möglich mit <code>std::cin</code> nur eine gewisse Anzahl von Zeichen einzulesen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150399</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150399</guid><dc:creator><![CDATA[eingabe]]></dc:creator><pubDate>Tue, 29 Nov 2011 10:03:16 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 10:10:17 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Ja. Lies nur sechs Zeichen ein.</p>
<p>cin ist übrigens <strong>nicht</strong> ein Befehl, um eine Tastatureingabe durchzuführen. cin ist einfach ein Stream der an der Standardeingabe hängt. Wenn du aus cin liest und es sind keine Zeichen im Stream, dann muss das Programm eben warten, bis Zeichen kommen. Diese können zum Beispiel von einer umliegenden Konsolenumgebung kommen, die dann selber eine Eingabeaufforderung hat und von der Tastatur liest und das Ergebnis (wenn der Benutzer mit Enter bestätigt, dass er fertig ist) an das Programm weiter gibt. Dies sieht dann für den Benutzer so aus, als hatte sich das Programm um die Eingabe gekümmert. Dabei hat es nur gewartet.</p>
<p>Wenn du nun der Konsole beibringen willst, nur bestimmte Sachen zuzulassen, dann musst du mit der Konsole reden. Leider ziemlich plattformabhängig. Und du machst es dann unmöglich, andere Quellen für die Standardeingabe zu benutzen, was in der Regel eher ärgerlich ist, sofern du nicht sowieso eine Text-GUI schreibst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150402</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 29 Nov 2011 10:10:17 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 10:12:15 GMT]]></title><description><![CDATA[<p>Guck Dir mal<a href="http://www.cplusplus.com/reference/iostream/istream/getline/" rel="nofollow"> <code>std::istream::getline</code> </a>an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150403</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 29 Nov 2011 10:12:15 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 10:47:00 GMT]]></title><description><![CDATA[<p>Danke für die Antworten.</p>
<p>Ich habe gemerkt das ich mich falsch ausgedrückt habe. Ich möchte das auf der Konsole maximal 6 Zeichen wieder ausgegeben werden. Also nur das Echo der ersten 6 eingegebenen Zeichen.<br />
<code>std::istream::getline</code> funktioniert da leider nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150413</guid><dc:creator><![CDATA[eingabe]]></dc:creator><pubDate>Tue, 29 Nov 2011 10:47:00 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 11:18:17 GMT]]></title><description><![CDATA[<p>dann gibst du mit cout die ersten 6 Zeichen aus...</p>
<p>greetz KN4CK3R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150423</guid><dc:creator><![CDATA[KN4CK3R]]></dc:creator><pubDate>Tue, 29 Nov 2011 11:18:17 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 12:11:21 GMT]]></title><description><![CDATA[<p>Aktuell frage ich so die eingabe ab</p>
<pre><code class="language-cpp">std::getline(std::cin, std::string);
</code></pre>
<p>wie kann ich da die Ausgabe beeinflussen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150448</guid><dc:creator><![CDATA[eingabe]]></dc:creator><pubDate>Tue, 29 Nov 2011 12:11:21 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 12:12:57 GMT]]></title><description><![CDATA[<p>eingabe schrieb:</p>
<blockquote>
<p>Aktuell frage ich so die eingabe ab</p>
<pre><code class="language-cpp">std::getline(std::cin, std::string);
</code></pre>
<p>wie kann ich da die Ausgabe beeinflussen?</p>
</blockquote>
<p>Bei der <strong>Ein</strong>gabe kannst Du die <strong>Aus</strong>gabe garnicht beeinflussen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150449</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 29 Nov 2011 12:12:57 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 12:14:47 GMT]]></title><description><![CDATA[<p>genau, und deswegen verstehe ich ja KN4CK3Rs Beitrag nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150451</guid><dc:creator><![CDATA[eingabe]]></dc:creator><pubDate>Tue, 29 Nov 2011 12:14:47 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 12:27:02 GMT]]></title><description><![CDATA[<p>eingabe schrieb:</p>
<blockquote>
<p>genau, und deswegen verstehe ich ja KN4CK3Rs Beitrag nicht</p>
</blockquote>
<p>Der Beitrag soll dir sagen, dass du nicht versuchen sollst, die Ausgabe nicht bei der Eingabe zu beeinflussen, sondern bei (oder kurz vor) der Ausgabe. Du willst von dem, was eingegeben wurde, nur die ersten 6 Zeichen wieder ausgebene, oder? Dann nimm den String, der eingegeben wurde, und gib die ersten 6 Zeichen wieder aus.<br />
In keinem Fall musst du aber std::cin &quot;manipulieren&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150454</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 29 Nov 2011 12:27:02 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 12:31:13 GMT]]></title><description><![CDATA[<p>Ich glaube er meint, dass vom Echo der Eingabe (also das, was angezeigt wird während man tippt) maximal sechs Zeichen auf der Konsole angezeigt werden sollen.</p>
<p>Das geht aber mit Standard C++ Mitteln garnicht. Dafür musst Du das Terminal manipulieren (und das ist je nachdem, ob es eine Linux-Konsole oder eine Windows-Eingabeaufforderung ist grundlegend unterschiedlich zu handhaben, dafür solltest Du im entsprechenden Unterforum fragen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150457</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 29 Nov 2011 12:31:13 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 12:33:05 GMT]]></title><description><![CDATA[<p>Ich glaube, er möchte, dass man nicht mehr als 6 Zeichen eintippen kann. Er hat irgendwas mit Textpositionierung gemacht:</p>
<pre><code>Eingabefeld:        Blablabla
</code></pre>
<p>Und er möchte nicht, dass man das BlablaBla überschreiben kann. Dazu steht meine erste Antwort.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150459</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 29 Nov 2011 12:33:05 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 12:45:41 GMT]]></title><description><![CDATA[<p>So kannst du die Ausgabe der ersten 6 Zeichen realisieren.<br />
Jedodoch weiß ich net was passiert wenn du weniger wie 6 Zeichen hast. Wenns einen Fehler wirft solltest du ein</p>
<pre><code class="language-cpp">string meinString;
cin&gt;&gt;meinString;
cout&lt;&lt;meinStrin.substr(0,6);
</code></pre>
<p>Jedodoch weiß ich net was passiert wenn du weniger wie 6 Zeichen hast. Wenns einen Fehler wirft könntest du das so umgehen:</p>
<pre><code class="language-cpp">string meinString;
cin&gt;&gt;meinString;
if(meinString.length()&gt;6)
    cout&lt;&lt;meinString.substr(0,6);
else
    cout&lt;&lt;mainString
</code></pre>
<p>Dies betrifft jetzt aber nur die Ausgabe!<br />
Ich weiß nicht ob ich dich richtig verstanden habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150465</guid><dc:creator><![CDATA[Cyphron]]></dc:creator><pubDate>Tue, 29 Nov 2011 12:45:41 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 12:50:09 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Ich glaube er meint, dass vom Echo der Eingabe (also das, was angezeigt wird während man tippt) maximal sechs Zeichen auf der Konsole angezeigt werden sollen.</p>
</blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Er hat irgendwas mit Textpositionierung gemacht:</p>
<pre><code>Eingabefeld:        Blablabla
</code></pre>
<p>Und er möchte nicht, dass man das BlablaBla überschreiben kann.</p>
</blockquote>
<p>exakt das ist das, was ich meinte</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150467</guid><dc:creator><![CDATA[eingabe]]></dc:creator><pubDate>Tue, 29 Nov 2011 12:50:09 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 12:56:14 GMT]]></title><description><![CDATA[<p>Da wirst du wie schon einmal erwähnt wurde auf das Betriebssystem schauen müssen. Das ist bei jedem Betriebssystem wohl anders geregelt. Vielleicht findest du eine Bibliothek die für dich abstrahiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150472</guid><dc:creator><![CDATA[Cyphron]]></dc:creator><pubDate>Tue, 29 Nov 2011 12:56:14 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 13:38:28 GMT]]></title><description><![CDATA[<p>ok, danke dann schau ich da mal rum</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150493</guid><dc:creator><![CDATA[eingabe]]></dc:creator><pubDate>Tue, 29 Nov 2011 13:38:28 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 18:49:23 GMT]]></title><description><![CDATA[<p>eingabe schrieb:</p>
<blockquote>
<p>Ich möchte das auf der Konsole maximal 6 Zeichen wieder ausgegeben werden. Also nur das Echo der ersten 6 eingegebenen Zeichen.</p>
</blockquote>
<p>Meinst du so einen Hack? :p</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;conio.h&gt;
using namespace std;

int main()
{
	int counter = 0;
	string str;
	char c;

	while( (c=getch())!='\r' &amp;&amp; c!='\n' ) // Mit Enter beenden.
	{
		++counter;
		if(counter&lt;7)
		{
			cout &lt;&lt; c;
			str += c;
		}
        // oder das str+=c hierher machen... weiß ja nicht, ob du trotzdem alle Zeichen speichern möchtest.
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2150623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150623</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 29 Nov 2011 18:49:23 GMT</pubDate></item><item><title><![CDATA[Reply to std::cin manipulieren? on Tue, 29 Nov 2011 19:27:51 GMT]]></title><description><![CDATA[<p>Das wäre beispielsweise der Hack für die DOS-Konsole.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150659</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 29 Nov 2011 19:27:51 GMT</pubDate></item></channel></rss>