<?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[[Anfänger] Array mit CStrings als Parameter mitgeben]]></title><description><![CDATA[<p>Hi,</p>
<p>bin leider noch totaler C Anfänger und versuche gerade einen Array mit CStrings als Parameter mit zu geben um dort einen Wert zu setzen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
	using namespace std;

	void setze(char*);

	int main() 
	{					
		char* array[5]; //Zum Bearbeiten
		setze(array);

		cout &lt;&lt; array[0] &lt;&lt;&quot;\n&quot;;
		// Beenden des Programmes durch druecken einer Taste
		system(&quot;Pause&quot;);
	}

	void setze(char* array)
	{
		array[0] = &quot;huhu&quot;;
	}
</code></pre>
<p>Hier bekomm ich leider folgenden Fehler:</p>
<pre><code>array.cpp: In function `int main()':
array.cpp:9: error: cannot convert `char**' to `char*' for argument `1' to `void
 setze(char*)'
array.cpp: In function `void setze(char*)':
array.cpp:18: error: invalid conversion from `const char*' to `char'
</code></pre>
<p>Was genau ist ein char** und wo kommt der Typ her? Ich erstell doch eigentlich kein char**.</p>
<p>Was mach ich hier falsch ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/253294/anfänger-array-mit-cstrings-als-parameter-mitgeben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 21:44:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/253294.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 31 Oct 2009 11:43:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Anfänger] Array mit CStrings als Parameter mitgeben on Sat, 31 Oct 2009 11:43:58 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bin leider noch totaler C Anfänger und versuche gerade einen Array mit CStrings als Parameter mit zu geben um dort einen Wert zu setzen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
	using namespace std;

	void setze(char*);

	int main() 
	{					
		char* array[5]; //Zum Bearbeiten
		setze(array);

		cout &lt;&lt; array[0] &lt;&lt;&quot;\n&quot;;
		// Beenden des Programmes durch druecken einer Taste
		system(&quot;Pause&quot;);
	}

	void setze(char* array)
	{
		array[0] = &quot;huhu&quot;;
	}
</code></pre>
<p>Hier bekomm ich leider folgenden Fehler:</p>
<pre><code>array.cpp: In function `int main()':
array.cpp:9: error: cannot convert `char**' to `char*' for argument `1' to `void
 setze(char*)'
array.cpp: In function `void setze(char*)':
array.cpp:18: error: invalid conversion from `const char*' to `char'
</code></pre>
<p>Was genau ist ein char** und wo kommt der Typ her? Ich erstell doch eigentlich kein char**.</p>
<p>Was mach ich hier falsch ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801110</guid><dc:creator><![CDATA[stormsam]]></dc:creator><pubDate>Sat, 31 Oct 2009 11:43:58 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Array mit CStrings als Parameter mitgeben on Sat, 31 Oct 2009 11:48:29 GMT]]></title><description><![CDATA[<blockquote>
<p>&gt; char* array[5]</p>
</blockquote>
<p>Hier erstellst du ein Array aus C-Strings, nicht aus chars!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801113</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Sat, 31 Oct 2009 11:48:29 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Array mit CStrings als Parameter mitgeben on Sat, 31 Oct 2009 12:54:03 GMT]]></title><description><![CDATA[<p>Das Stück ist so dermaßen voller Fehler, dass du es lieber sofort löschst.<br />
Nimm std::string wenn nichts dagegen spricht oder lies in deinem Buch noch mal das Kapitel über C-Strings durch.</p>
<p>Wenn du das hast, kannst du ja wieder posten, was du dann hast - wenn dann wenigsten ein bisschen zusammenpasst, wird dir auch geholfen^^<br />
aber hier passt eben so wenig, dass man(zumindest ich^^) nicht mal ansatzweise weiß, wo man anfangen sollte, zu erklären...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801133</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 31 Oct 2009 12:54:03 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Array mit CStrings als Parameter mitgeben on Sat, 31 Oct 2009 16:11:41 GMT]]></title><description><![CDATA[<p>stormsam schrieb:</p>
<blockquote>
<p>Was genau ist ein char** und wo kommt der Typ her? Ich erstell doch eigentlich kein char**.<br />
Was mach ich hier falsch ?</p>
</blockquote>
<p>char ist ein Datentyp.<br />
char* ist ein Zeiger auf ein Element dieses Datentyps.<br />
char** ist ein Zeiger auf einen Zeiger.</p>
<p>Aber nimm Abschied von char-strings wenn es geht und lerne gleich die STL. Deinen Code kann man viel kürzer schreiben:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
    using namespace std;

    void setze(char*);

    int main()
    {                   
        std::string myString;
        setze(myString);

        cout &lt;&lt; myString &lt;&lt;&quot;\n&quot;;
        // Beenden des Programmes durch druecken einer Taste
        system(&quot;Pause&quot;);
    }

    void setze(std::string&amp; text)
    {
        text = &quot;huhu&quot;
    }
</code></pre>
<p>Okay, jetzt deinen Code nochmal, aber so dass er funktioniert:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;cstring&gt;
    using namespace std;

    void setze(char*);

    int main()
    {                   
        char array[5]; //Zum Bearbeiten
        setze(array);

        cout &lt;&lt; array &lt;&lt;&quot;\n&quot;;
        // Beenden des Programmes durch druecken einer Taste
        system(&quot;Pause&quot;);
    }

    void setze(char* array)
    {
        strcpy(array, &quot;huhu&quot;);
    }
</code></pre>
<p>Wenn Du ein Array erstellst, dann ist der Name der Variablen ohne die [] der Zeiger.<br />
Sprich:<br />
char array[5];<br />
array ist vom Typ char*.<br />
Und array[0] ist vom Typ char.<br />
Arrays aus char-Zeigern ist wieder ein Thema für sich.. aber ganz ehrlich: Nimm std::string und du bist alle Sorgen los.<br />
Wenn Du allerdings wirklich C programmieren willst, ist dein Code nicht gültig.<br />
rya.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801243</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sat, 31 Oct 2009 16:11:41 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Array mit CStrings als Parameter mitgeben on Sun, 01 Nov 2009 20:12:18 GMT]]></title><description><![CDATA[<p>danke Scorcher24, dein Beitrag hat mir sehr weitergeholfen.</p>
<p>Ich werde mir die STL auch noch anschauen.<br />
Wollt aber doch noch ein wenig an meinem Code weiter basteln, was hält ihr den davon:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
	using namespace std;

	void setze(char**);

	int main() 
	{					
		char* array[5]; //Zum Bearbeiten
		setze((char**)array);

		cout &lt;&lt; array[0] &lt;&lt;&quot;\n&quot;;

		// Beenden des Programmes durch druecken einer Taste
		system(&quot;Pause&quot;);
	}

	void setze(char** array)
	{
		array[0] = &quot;huhu&quot;;
	}
</code></pre>
<p>Das scheint ja so zu gehen wie ich wollte, sogar mit einem Array von Zeigern. Und dann geb ich den Zeiger auf die Zeiger weiter <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/1801847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801847</guid><dc:creator><![CDATA[stormsam]]></dc:creator><pubDate>Sun, 01 Nov 2009 20:12:18 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Array mit CStrings als Parameter mitgeben on Sun, 01 Nov 2009 20:18:36 GMT]]></title><description><![CDATA[<p>&quot;Das scheint ja so zu gehen wie ich wollte, sogar mit einem Array von Zeigern.&quot;</p>
<p>Ja, sollte auch richtig sein (also syntaktisch und definiert) - aber auf keinen Fall gut...</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void setze(const char *&amp;to_fill);

int main() 
{                    
    const char* str; //Zum Bearbeiten
    setze(str);

    cout &lt;&lt; str &lt;&lt; endl;

    // Beenden des Programmes durch druecken einer Taste
    system(&quot;Pause&quot;);
}

void setze(const char *&amp;to_fill)
{
    to_fill = &quot;huhu&quot;;
}
</code></pre>
<p>gefällt mir da schon wesentlich besser...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801852</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 01 Nov 2009 20:18:36 GMT</pubDate></item></channel></rss>