<?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[strcat: Wie bekomme ich ein Leerzeichen in meinen String?]]></title><description><![CDATA[<p>Hallo,<br />
ich habe vor 3 Tagen mit C++ angefangen, dazu habe ich mir wxDev-C++ installiert und als Lektüre habe ich mir von Helmut Erlenkötter &quot;C++: Objektorientiertes Programmieren von Anfang an&quot; gekauft.</p>
<p>So, nun hab ich den ersten Abschnitt durch und mich einer der ersten Übungsaufgaben gestellt die ich auch lösen konnte, jedoch habe ich dazu eine Frage.</p>
<p>Hier erstmal mein Programm:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;cstring&gt;

using namespace std;

int main(int argc, char *argv[])
{

    char Text1[15], Text2[15], Text3[30];

    cout &lt;&lt; &quot;Bitte geben Sie Ihren Vornamen ein: &quot;;
    cin &gt;&gt; Text1;
    cout &lt;&lt; &quot;Bitte geben Sie Ihren Nachnamen ein: &quot;;
    cin &gt;&gt; Text2;
    strcpy(Text3,Text1);
    strcat(Text3,Text2);
    cout &lt;&lt; &quot;Ihr Name lautet: &quot; &lt;&lt; Text3 &lt;&lt; endl;

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Wenn ich nun in der Konsole als Vornamen Max und Nachnamen Muster eingebe, wird die Zeichenkette zusammengeschrieben ausgegeben &gt; MaxMuster.</p>
<p>Wie kann ich zu meiner Variable Text1 ein Leezeichen mit dran hängen bzw. kann das direkt in der Funktion strcat übergeben werden?</p>
<p>Cheers, Cosmo.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/279018/strcat-wie-bekomme-ich-ein-leerzeichen-in-meinen-string</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 20:19:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/279018.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Dec 2010 12:06:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to strcat: Wie bekomme ich ein Leerzeichen in meinen String? on Fri, 17 Dec 2010 12:10:18 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe vor 3 Tagen mit C++ angefangen, dazu habe ich mir wxDev-C++ installiert und als Lektüre habe ich mir von Helmut Erlenkötter &quot;C++: Objektorientiertes Programmieren von Anfang an&quot; gekauft.</p>
<p>So, nun hab ich den ersten Abschnitt durch und mich einer der ersten Übungsaufgaben gestellt die ich auch lösen konnte, jedoch habe ich dazu eine Frage.</p>
<p>Hier erstmal mein Programm:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;cstring&gt;

using namespace std;

int main(int argc, char *argv[])
{

    char Text1[15], Text2[15], Text3[30];

    cout &lt;&lt; &quot;Bitte geben Sie Ihren Vornamen ein: &quot;;
    cin &gt;&gt; Text1;
    cout &lt;&lt; &quot;Bitte geben Sie Ihren Nachnamen ein: &quot;;
    cin &gt;&gt; Text2;
    strcpy(Text3,Text1);
    strcat(Text3,Text2);
    cout &lt;&lt; &quot;Ihr Name lautet: &quot; &lt;&lt; Text3 &lt;&lt; endl;

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Wenn ich nun in der Konsole als Vornamen Max und Nachnamen Muster eingebe, wird die Zeichenkette zusammengeschrieben ausgegeben &gt; MaxMuster.</p>
<p>Wie kann ich zu meiner Variable Text1 ein Leezeichen mit dran hängen bzw. kann das direkt in der Funktion strcat übergeben werden?</p>
<p>Cheers, Cosmo.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995783</guid><dc:creator><![CDATA[Cosmo]]></dc:creator><pubDate>Fri, 17 Dec 2010 12:10:18 GMT</pubDate></item><item><title><![CDATA[Reply to strcat: Wie bekomme ich ein Leerzeichen in meinen String? on Fri, 17 Dec 2010 12:16:29 GMT]]></title><description><![CDATA[<p>Cosmo schrieb:</p>
<blockquote>
<p>Wie kann ich zu meiner Variable Text1 ein Leezeichen mit dran hängen bzw. kann das direkt in der Funktion strcat übergeben werden?</p>
</blockquote>
<p>So: &quot; &quot;</p>
<p>P.S: Objektorientiert von Anfang an? Na klar... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995786</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 17 Dec 2010 12:16:29 GMT</pubDate></item><item><title><![CDATA[Reply to strcat: Wie bekomme ich ein Leerzeichen in meinen String? on Fri, 17 Dec 2010 12:17:00 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">strcpy(Text3,Text1);
    strcat(Text3,&quot; &quot;);
    strcat(Text3,Text2);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1995787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995787</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Fri, 17 Dec 2010 12:17:00 GMT</pubDate></item><item><title><![CDATA[Reply to strcat: Wie bekomme ich ein Leerzeichen in meinen String? on Fri, 17 Dec 2010 12:19:28 GMT]]></title><description><![CDATA[<p>Nein, strcat kann dies nicht. Du müsstest <code>Text1</code> oder <code>Text3</code> zuerst ein Leerzeichen einfügen. Dabei aber jeweils noch darauf achten, dass du nicht über die Speichergrösse schreibst. Also ca. so:</p>
<pre><code class="language-cpp">size_t length = strlen(Text1);
strcpy(Text3, Text1);
Text3[length] = ' ';
Text3[length + 1] = '\0'; // Null Terminierung wieder einfügen

strcat(Text3, Text2);
</code></pre>
<p>Aber grundsätzlich ist das recht dumm, wenn man dies so in C++ löst. Denn das ist grundsätzlich C und nicht C++! In C++ gäbe es dafür extra die Klasse <code>std::string</code> . Wenn ich dein Programm mal umschreibe:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;

int main(int argc, char *argv[])
{
    cout &lt;&lt; &quot;Bitte geben Sie Ihren Vornamen ein: &quot;;

    std::string firstname;
    cin &gt;&gt; firstname;

    cout &lt;&lt; &quot;Bitte geben Sie Ihren Nachnamen ein: &quot;;

    std::string lastname;
    cin &gt;&gt; lastname;

    std::string output = firstname + ' ' + lastname;

    cout &lt;&lt; &quot;Ihr Name lautet: &quot; &lt;&lt; output &lt;&lt; endl;

    return 0;
}
</code></pre>
<p>Hier musst du auch nicht mehr darauf achten, dass die Speichergrenzen überschritten werden könnten. Im vorherigen Codebeispiel, wenn man mehr als 14 Zeichen eingeben würde, gäbe es undefiniertes Verhalten. Das ist hier nicht der Fall. Wenn du auch noch Leerzeichen einlesen möchtes, wäre vielleicht auch noch<a href="http://www.cplusplus.com/reference/string/getline/" rel="nofollow"> <code>std::getline</code> </a>interessant.</p>
<p>Also der Titel des Buches ist die reinste Lüge. Das ist weder C++ noch objektorientiert von anfang an.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995788</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 17 Dec 2010 12:19:28 GMT</pubDate></item><item><title><![CDATA[Reply to strcat: Wie bekomme ich ein Leerzeichen in meinen String? on Fri, 17 Dec 2010 12:36:11 GMT]]></title><description><![CDATA[<p>Wow, das ging ja schnell. Vielen Dank euch allen.</p>
<p>Also das geht:</p>
<pre><code class="language-cpp">strcat(Text3,&quot; &quot;);
</code></pre>
<p>Die Methode von Dravere mit std::string output = firstname + ' ' + lastname; gefällt mir allerdings auch recht gut, ich wusste bisher gar nicht das es String Variablen in C++ gibt, komisch das davon im Buch gar nichts steht bzw. erwähnt wird.</p>
<p>Was für Literatur könnt ihr einem Einsteiger denn sonst noch so empfehlen? Ich habe mir das Buch vom Erlenkötter gekauft da dieses in einigen Foren sehr oft empfohlen wurde. Ich habe gestern noch dieses hier <a href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2313" rel="nofollow">http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2313</a> von Jürgen Wolf gefunden, kommt allerdings erst im Februar 2011 raus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995798</guid><dc:creator><![CDATA[Cosmo]]></dc:creator><pubDate>Fri, 17 Dec 2010 12:36:11 GMT</pubDate></item><item><title><![CDATA[Reply to strcat: Wie bekomme ich ein Leerzeichen in meinen String? on Fri, 17 Dec 2010 12:43:36 GMT]]></title><description><![CDATA[<p>Cosmo schrieb:</p>
<blockquote>
<p>Ich habe gestern noch dieses hier <a href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2313" rel="nofollow">http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2313</a> von Jürgen Wolf gefunden, kommt allerdings erst im Februar 2011 raus.</p>
</blockquote>
<p>Vergiss Jürgen Wolf Bücher.<br />
<a href="http://www.c-plusplus.net/forum/272350" rel="nofollow">http://www.c-plusplus.net/forum/272350</a></p>
<p>Wir haben hier eine verdammt schlechte Meinung von diesem Mann und seinen Büchern. Meiner Meinung nach zurecht ... <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>
<p>Hier sind ein paar Empfehlungen: <a href="http://www.c-plusplus.net/forum/251551" rel="nofollow">http://www.c-plusplus.net/forum/251551</a></p>
<p>Und wenn du in diesem Subforum suchst, dann wirst du noch allerhand andere Empfehlungen finden. Was wohl auch nötig ist, weil leider der empfohlene C++ Primer in Deutsch nicht mehr verfügbar ist.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995801</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 17 Dec 2010 12:43:36 GMT</pubDate></item><item><title><![CDATA[Reply to strcat: Wie bekomme ich ein Leerzeichen in meinen String? on Fri, 17 Dec 2010 12:51:41 GMT]]></title><description><![CDATA[<p>Ok, danke für den Hinweis. Ich werde mir den Thread mal anschauen sowie nach anderen Büchern hier im Forum suchen.</p>
<p>Cheers, Cosmo.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995807</guid><dc:creator><![CDATA[Cosmo]]></dc:creator><pubDate>Fri, 17 Dec 2010 12:51:41 GMT</pubDate></item><item><title><![CDATA[Reply to strcat: Wie bekomme ich ein Leerzeichen in meinen String? on Fri, 17 Dec 2010 13:18:36 GMT]]></title><description><![CDATA[<p>Cosmo schrieb:</p>
<blockquote>
<p>Die Methode von Dravere mit std::string output = firstname + ' ' + lastname; gefällt mir allerdings auch recht gut, ich wusste bisher gar nicht das es String Variablen in C++ gibt, komisch das davon im Buch gar nichts steht bzw. erwähnt wird.</p>
</blockquote>
<p>Irgendwie muss ja das ++ auch seine Berechtigung haben.</p>
<p>Sonst wäre es ja C.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995817</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Fri, 17 Dec 2010 13:18:36 GMT</pubDate></item></channel></rss>