<?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[Zeichenketten in Klassen (keine Strings)]]></title><description><![CDATA[<p>Guten Abend.<br />
Bei folgendem Klassenversuch macht der einfach nicht was ich will:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;
#include &lt;windows&gt;

class MSGBOX
{
	public:
		char msgOut[500];	
};

int main ()
{
	MSGBOX msg;

	msg.msgOut = &quot;Hallo, wie geht es dir.&quot;;

	cout &lt;&lt; msg.msgOut;
	Sleep (2000);

	return 0;
}
</code></pre>
<p>Ich möchte msgOut ausgeben lassen, aber schon beim kompilieren sagt er mir, dass Lvalue benötigt wird. Kann mir jemand helfen?</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/145749/zeichenketten-in-klassen-keine-strings</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 09:14:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/145749.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 30 Apr 2006 20:39:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Sun, 30 Apr 2006 20:39:57 GMT]]></title><description><![CDATA[<p>Guten Abend.<br />
Bei folgendem Klassenversuch macht der einfach nicht was ich will:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;
#include &lt;windows&gt;

class MSGBOX
{
	public:
		char msgOut[500];	
};

int main ()
{
	MSGBOX msg;

	msg.msgOut = &quot;Hallo, wie geht es dir.&quot;;

	cout &lt;&lt; msg.msgOut;
	Sleep (2000);

	return 0;
}
</code></pre>
<p>Ich möchte msgOut ausgeben lassen, aber schon beim kompilieren sagt er mir, dass Lvalue benötigt wird. Kann mir jemand helfen?</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048617</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Sun, 30 Apr 2006 20:39:57 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Sun, 30 Apr 2006 20:55:30 GMT]]></title><description><![CDATA[<p>msgOut ist ein Array, dem kannst du nicht einfach per = Elemente zuweisen.<br />
Dazu gibt es die Funktion <a href="http://man.cx/strcpy" rel="nofollow">man: strcpy</a> bzw. strncpy, das letztere ist in deinem Fall zu empfehlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048628</guid><dc:creator><![CDATA[michba]]></dc:creator><pubDate>Sun, 30 Apr 2006 20:55:30 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Sun, 30 Apr 2006 20:57:28 GMT]]></title><description><![CDATA[<p>oder verwende string statt char *. du wisrt dir viel zeit und nerven sparen <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/1048629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048629</guid><dc:creator><![CDATA[errno_h]]></dc:creator><pubDate>Sun, 30 Apr 2006 20:57:28 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Sun, 30 Apr 2006 21:05:01 GMT]]></title><description><![CDATA[<p>Danke für die hilfreiche Antwort <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Gibt es vielleicht auch eine Möglichkeit, diese Funktion automatisch aufzurufen? Also so, dass ich das wie im meinem Beispiel einfach hinschreibe:</p>
<pre><code class="language-cpp">msg.msgOut = &quot;Hallo, wie geht es dir.&quot;;
</code></pre>
<p>und strncpy automatisch aufgerufen wird. Geht das?</p>
<p>Mfg Ominion</p>
<p>PS. Ich möchte aber erstmal ohne Strings arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048630</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Sun, 30 Apr 2006 21:05:01 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Sun, 30 Apr 2006 21:07:06 GMT]]></title><description><![CDATA[<p>Ominion schrieb:</p>
<blockquote>
<p>Gibt es vielleicht auch eine Möglichkeit, diese Funktion automatisch aufzurufen? Also so, dass ich das wie im meinem Beispiel einfach hinschreibe:</p>
<pre><code class="language-cpp">msg.msgOut = &quot;Hallo, wie geht es dir.&quot;;
</code></pre>
<p>und strncpy automatisch aufgerufen wird. Geht das?</p>
</blockquote>
<p>Nein, dann musst du schon eine Klasse erstellen, die den op= definiert...<br />
oder du verwendest gleich std::string <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/1048631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048631</guid><dc:creator><![CDATA[michba]]></dc:creator><pubDate>Sun, 30 Apr 2006 21:07:06 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Sun, 30 Apr 2006 21:12:55 GMT]]></title><description><![CDATA[<p>Naja, das kriege ich so schnell wohl noch nicht hin. Aber ich habe jetzt eine Funktion eingebaut, in der als Parameter die Zeichenkette übergeben wird, und dann über strncpy() in msgOut eingetragen wird. Das klappt wunderbar <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048634</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Sun, 30 Apr 2006 21:12:55 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Mon, 01 May 2006 09:02:09 GMT]]></title><description><![CDATA[<pre><code>#include &lt;iostream.h&gt; 
#include &lt;windows&gt; 

class MSGBOX 
{ 
    public: 
        char msgOut[500];    
}; 

int main () 
{ 
    MSGBOX msg; 

    msg.msgOut = &quot;Hallo, wie geht es dir.&quot;; 

    cout &lt;&lt; &amp;(msg.msgOut); 
    Sleep (2000); 

    return 0; 
}
</code></pre>
<p>sollte so funktionieren..<br />
Es ist so, dass als eine Zeichenkette wird beim cout nur ein (char*) verstanden, und kein (char[]). Das ist übrigens auch gut so, denn sonst hättest du die restlichen (nicht definierten chars) auch in output - also eine menge müll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048757</guid><dc:creator><![CDATA[Maverick89]]></dc:creator><pubDate>Mon, 01 May 2006 09:02:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Mon, 01 May 2006 09:19:15 GMT]]></title><description><![CDATA[<p>Maverick89 schrieb:</p>
<blockquote>
<pre><code>#include &lt;iostream.h&gt; 
#include &lt;windows&gt; 

class MSGBOX 
{ 
    public: 
        char msgOut[500];    
}; 

int main () 
{ 
    MSGBOX msg; 

    msg.msgOut = &quot;Hallo, wie geht es dir.&quot;; 

    cout &lt;&lt; &amp;(msg.msgOut); 
    Sleep (2000); 

    return 0; 
}
</code></pre>
<p>sollte so funktionieren..</p>
</blockquote>
<p>nein. Wird es nicht, du kannst einem c-string nicht mit dem =op eine Zeichenkette zuweisen! Dazu MUSS str[n]cpy verwendet werden.</p>
<p>Abgesehen davon: Hört auf iostream.h zu schreiben und verwendet folgendes:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;
</code></pre>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048767</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Mon, 01 May 2006 09:19:15 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Mon, 01 May 2006 09:21:59 GMT]]></title><description><![CDATA[<p>hm, da ist die frage in welcher Zeile das war. Also in BCB2006 geht das.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048769</guid><dc:creator><![CDATA[Maverick89]]></dc:creator><pubDate>Mon, 01 May 2006 09:21:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Mon, 01 May 2006 09:24:00 GMT]]></title><description><![CDATA[<p>Maverick89 schrieb:</p>
<blockquote>
<p>hm, da ist die frage in welcher Zeile das war. Also in BCB2006 geht das.</p>
</blockquote>
<p>Ob er's kompiliert, oder ob's auch korrekt funktioniert ist eine andere Frage. Sollte es doch funktionieren, ist das (a) Zufall oder (b) der gute Wille, der auch zufällig, von deinem Compiler gezeigt wird.</p>
<p>Auf jeden Fall wird es früher oder später crashen.</p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048770</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Mon, 01 May 2006 09:24:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Mon, 01 May 2006 10:59:56 GMT]]></title><description><![CDATA[<p>Was macht da #include&lt;windows&gt;?????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048823</guid><dc:creator><![CDATA[nerko]]></dc:creator><pubDate>Mon, 01 May 2006 10:59:56 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Mon, 01 May 2006 14:30:46 GMT]]></title><description><![CDATA[<p>GPC schrieb:</p>
<blockquote>
<p>Abgesehen davon: Hört auf iostream.h zu schreiben und verwendet folgendes:</p>
</blockquote>
<p>Das war und ist auch erstmal nur quick'n dirty. Ich weiß, dass das zwar so nicht den Standards entspricht, aber ich wollte erstmal testen, was mit einer Klasse geht, und was nicht.<br />
@nerko: Man braucht diesen Header um Sleep() benutzen zu können.</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048970</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Mon, 01 May 2006 14:30:46 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenketten in Klassen (keine Strings) on Mon, 01 May 2006 15:23:20 GMT]]></title><description><![CDATA[<p>Maverick89 schrieb:</p>
<blockquote>
<p>Es ist so, dass als eine Zeichenkette wird beim cout nur ein (char*) verstanden, und kein (char[]). Das ist übrigens auch gut so, denn sonst hättest du die restlichen (nicht definierten chars) auch in output - also eine menge müll.</p>
</blockquote>
<p>Unfug. Ob char* oder char[] spielt für cout keine Rolle. Das wird _immer_ als C-String interpretiert und damit steht die Vorgehensweise fest: Nullzeichen suchen und fertig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1049035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1049035</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Mon, 01 May 2006 15:23:20 GMT</pubDate></item></channel></rss>