<?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[initialisierung eines char[] feldes]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe eine Klasse mit einem Feld</p>
<pre><code>char name[25]
</code></pre>
<p>dieser soll nun im Konstruktor befüllt werden. Der Aufruf ist <strong>vorgegeben</strong>, und sieht so aus:</p>
<pre><code>Konto k(&quot;Mirko&quot;)
</code></pre>
<p>Wie muss der Konstruktor aussehen? Ich habe es unter anderem so probiert:</p>
<pre><code>Konto(char[] n) {
        name = n;
    }
</code></pre>
<p>Anscheinend ist char[] als Typ falsch. Ich habe über google leider keine sinnvolle Hilfe gefunden, deswegen die Frage an euch.</p>
<p>Bin über jeden Hinweis dankbar. <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/301372/initialisierung-eines-char-feldes</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 01:00:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/301372.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Mar 2012 16:01:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to initialisierung eines char[] feldes on Sun, 25 Mar 2012 16:01:35 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe eine Klasse mit einem Feld</p>
<pre><code>char name[25]
</code></pre>
<p>dieser soll nun im Konstruktor befüllt werden. Der Aufruf ist <strong>vorgegeben</strong>, und sieht so aus:</p>
<pre><code>Konto k(&quot;Mirko&quot;)
</code></pre>
<p>Wie muss der Konstruktor aussehen? Ich habe es unter anderem so probiert:</p>
<pre><code>Konto(char[] n) {
        name = n;
    }
</code></pre>
<p>Anscheinend ist char[] als Typ falsch. Ich habe über google leider keine sinnvolle Hilfe gefunden, deswegen die Frage an euch.</p>
<p>Bin über jeden Hinweis dankbar. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2195276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195276</guid><dc:creator><![CDATA[*CMAN* 0]]></dc:creator><pubDate>Sun, 25 Mar 2012 16:01:35 GMT</pubDate></item><item><title><![CDATA[Reply to initialisierung eines char[] feldes on Sun, 25 Mar 2012 16:04:05 GMT]]></title><description><![CDATA[<p>1. Du willst std::string.<br />
2. Es heißt Array.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2195279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195279</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 25 Mar 2012 16:04:05 GMT</pubDate></item><item><title><![CDATA[Reply to initialisierung eines char[] feldes on Sun, 25 Mar 2012 16:07:29 GMT]]></title><description><![CDATA[<p><a href="http://translate.google.com/#en%7Cde%7Carray" rel="nofollow">http://translate.google.com/#en|de|array</a> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Falls du std::string nicht benutzen darfst, willst du strcpy/strncpy.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2195284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195284</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 25 Mar 2012 16:07:29 GMT</pubDate></item><item><title><![CDATA[Reply to initialisierung eines char[] feldes on Sun, 25 Mar 2012 16:07:55 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>2. Es heißt Array.</p>
</blockquote>
<p>Und das heißt im IT-Kontext übersetzt was?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2195285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195285</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Sun, 25 Mar 2012 16:07:55 GMT</pubDate></item><item><title><![CDATA[Reply to initialisierung eines char[] feldes on Sun, 25 Mar 2012 16:12:12 GMT]]></title><description><![CDATA[<p>i like trains</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2195286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195286</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 25 Mar 2012 16:12:12 GMT</pubDate></item><item><title><![CDATA[Reply to initialisierung eines char[] feldes on Sun, 25 Mar 2012 16:34:03 GMT]]></title><description><![CDATA[<p>hallo und vielen Dank für eure Antworten.<br />
Ich kann es immer noch nicht richtig umsetzen.</p>
<pre><code>Konto(char[] n) {
            name = strcpy(n);
        }
</code></pre>
<p>das funktioniert nicht richtig. Ist es korrekt, dass</p>
<pre><code>char[] n
</code></pre>
<p>im Konstruktor steht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2195302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195302</guid><dc:creator><![CDATA[*CMAN* 0]]></dc:creator><pubDate>Sun, 25 Mar 2012 16:34:03 GMT</pubDate></item><item><title><![CDATA[Reply to initialisierung eines char[] feldes on Sun, 25 Mar 2012 16:38:07 GMT]]></title><description><![CDATA[<p>1. Funktioniert nicht richtig ist keine Fehlerbeschreibung.<br />
Lies dir doch mal die Doku zu strcpy durch, dann siehst du schon, dass die Funktion zwei Parameter will. Und wenn du dann noch nen Satz liest, siehst du auch noch wofür die Parameter sind.</p>
<p><em>CMAN</em> schrieb:</p>
<blockquote>
<p>Ist es korrekt, dass</p>
<pre><code>char[] n
</code></pre>
<p>im Konstruktor steht?</p>
</blockquote>
<p>Jain. Es funktioniert. Aber Arrays kann man nicht kopieren, daher wird das zu char* n aufgelöst. Du willst das was hinter n steht (n ist ja ein Zeiger) nicht verändern, daher const char* n, das wäre korrekt. (Oder halt std::string)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2195303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195303</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 25 Mar 2012 16:38:07 GMT</pubDate></item><item><title><![CDATA[Reply to initialisierung eines char[] feldes on Sun, 25 Mar 2012 16:41:06 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;string&gt;

class Konto {
  private:
    std::string name;
  public:
    Konto(std::string const&amp; name) : name(name) {}
};

int main() {
  Konto k(&quot;Mirko&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2195305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195305</guid><dc:creator><![CDATA[pyhax]]></dc:creator><pubDate>Sun, 25 Mar 2012 16:41:06 GMT</pubDate></item><item><title><![CDATA[Reply to initialisierung eines char[] feldes on Sun, 25 Mar 2012 18:39:51 GMT]]></title><description><![CDATA[<p>Es muss</p>
<pre><code class="language-cpp">char n[]
</code></pre>
<p>heißen, was allerdings (bei Parametern) äquivalent zu</p>
<pre><code class="language-cpp">char* n
</code></pre>
<p>ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2195338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195338</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 25 Mar 2012 18:39:51 GMT</pubDate></item><item><title><![CDATA[Reply to initialisierung eines char[] feldes on Mon, 26 Mar 2012 12:26:59 GMT]]></title><description><![CDATA[<p><em>CMAN</em> schrieb:</p>
<blockquote>
<p>ich habe eine Klasse mit einem Feld</p>
<pre><code>char name[25]
</code></pre>
</blockquote>
<p>Ist das auch so vorgegeben oder darfst Du auch std::string als Typ für name verwenden? Das würde nämlich einiges einfacher machen.</p>
<p><em>CMAN</em> schrieb:</p>
<blockquote>
<p>dieser soll nun im Konstruktor befüllt werden. Der Aufruf ist <strong>vorgegeben</strong>, und sieht so aus:</p>
<pre><code>Konto k(&quot;Mirko&quot;)
</code></pre>
<p>Wie muss der Konstruktor aussehen? Ich habe es unter anderem so probiert:</p>
<pre><code>Konto(char[] n) {
      name = n;
  }
</code></pre>
<p>Anscheinend ist char[] als Typ falsch.</p>
</blockquote>
<p>Ja, da ist so einiges falsch. Und &quot;probieren&quot; ist bei deinem Wissensstand auch nicht wirklich zielführend. Da gibt es einfach zu viele Missverständnisse bei Dir.</p>
<pre><code class="language-cpp">#include &lt;string&gt;

class Klasse
{
  std::string name;
public:
  explicit Klasse(char const* n);
};

Klasse::Klasse(char const* n)
: name(n)
{}
</code></pre>
<p>oder so:</p>
<pre><code class="language-cpp">class Klasse
{
  char name[25];
public:
  explicit Klasse(char const* n);
};

#include &lt;cassert&gt;
#include &lt;cstring&gt;
#include &lt;algorithm&gt;

void copy_c_string_into_array(char const* psz, char* array, int N)
{
  assert(N&gt;0);
  int len = std::strlen(psz);
  if (len&gt;=N) len = N-1;
  std::copy(psz,psz+len,array);
  array[len] = 0;
}

template&lt;int N&gt;
inline void copy_c_string_into_array(char const* psz, char (&amp;array)[N])
{
  copy_c_string_into_array(psz,array,N);
}

Klasse::Klasse(char const* n)
{
  copy_c_string_into_array(n,name);
}
</code></pre>
<p>(alles ungetestet!)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2195535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195535</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Mon, 26 Mar 2012 12:26:59 GMT</pubDate></item></channel></rss>