<?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[String Array]]></title><description><![CDATA[<p>Guten Abend und ein frohes Neues,</p>
<p>bin vor kurzem von C auf C++ umgestiegen und finde mich bei einigen Sachen noch nicht ganz zurecht.</p>
<p>Dieses mal geht es um String Arrays - Ich bin es von cstring gewohnt ein 2D char array einfach zu allozieren und dann den Pointer dahin zu schieben, wo ich ihn haben will.</p>
<p>Der Code ist jetzt einfach mal Pi mal Daumen zusammen gebastelt, also nicht auf kleine Fehler achten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<pre><code class="language-cpp">static char **array;
char **dump = NULL;
int count = 0;

while (foo) {

     /*
           generiert String str
      */

     count++;
     array = (char **) realloc (dump, count * sizeof(char *));
     array[count-1] = (char *) malloc ( str.size * sizeof(char) +1 );
     dump = array;
     strcpy(array[count-1],str);
}
</code></pre>
<p>Es Funktioniert, aber ich erstelle ein 2d char array , würde aber lieber mit einem String array arbeiten.</p>
<p>Muss ich hier den String ebenfalls allozieren oder wie mach ich das nun ?<br />
Oder muss ich an diesem Punkt zu Vektoren greifen ? Also ich hab da noch nicht so reingeschaut, nur mal überflogen.</p>
<p>Gruß<br />
akoww</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/297591/string-array</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 11:03:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/297591.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Jan 2012 17:13:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String Array on Mon, 02 Jan 2012 17:13:10 GMT]]></title><description><![CDATA[<p>Guten Abend und ein frohes Neues,</p>
<p>bin vor kurzem von C auf C++ umgestiegen und finde mich bei einigen Sachen noch nicht ganz zurecht.</p>
<p>Dieses mal geht es um String Arrays - Ich bin es von cstring gewohnt ein 2D char array einfach zu allozieren und dann den Pointer dahin zu schieben, wo ich ihn haben will.</p>
<p>Der Code ist jetzt einfach mal Pi mal Daumen zusammen gebastelt, also nicht auf kleine Fehler achten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<pre><code class="language-cpp">static char **array;
char **dump = NULL;
int count = 0;

while (foo) {

     /*
           generiert String str
      */

     count++;
     array = (char **) realloc (dump, count * sizeof(char *));
     array[count-1] = (char *) malloc ( str.size * sizeof(char) +1 );
     dump = array;
     strcpy(array[count-1],str);
}
</code></pre>
<p>Es Funktioniert, aber ich erstelle ein 2d char array , würde aber lieber mit einem String array arbeiten.</p>
<p>Muss ich hier den String ebenfalls allozieren oder wie mach ich das nun ?<br />
Oder muss ich an diesem Punkt zu Vektoren greifen ? Also ich hab da noch nicht so reingeschaut, nur mal überflogen.</p>
<p>Gruß<br />
akoww</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2162972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2162972</guid><dc:creator><![CDATA[akoww]]></dc:creator><pubDate>Mon, 02 Jan 2012 17:13:10 GMT</pubDate></item><item><title><![CDATA[Reply to String Array on Mon, 02 Jan 2012 17:20:57 GMT]]></title><description><![CDATA[<p>also da die C-Strings fehleranfällig sind, hat man die std::string entwickelt. das ist ein datentyp der sich um den ganzen kram kümmert, und noch zusätzliche dinge anbietet<br />
das gleiche gibts auch für normale arrays, nämlich std::vector oder std::array</p>
<p>hier beispiele:</p>
<pre><code class="language-cpp">int main()
{
    std::string s = &quot;lol test&quot;;
    s += &quot; ist ein super ding&quot;;
    std::cout &lt;&lt; s &lt;&lt; std::endl; // ausgabe: &quot;lol test ist ein super ding&quot;

    //int arr[10];  // weg damit, das ist out
    std::vector&lt;int&gt; arr(10);
    arr[2] = 5;
    arr[50] = 10; // wird dir sofort fehler anzeigen im debugmodus und nicht später erst irgendwelche segment faults

    std::vector&lt; std::string &gt; arrayVonString;
    arrayVonString.push_back(&quot;test0&quot;);

    return 0x0;
}
</code></pre>
<p>und das beste daran ist, du musst am ende nicht mit delete[] oder free aufräumen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2162975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2162975</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 02 Jan 2012 17:20:57 GMT</pubDate></item><item><title><![CDATA[Reply to String Array on Mon, 02 Jan 2012 17:27:39 GMT]]></title><description><![CDATA[<p>Danke Skym0sh0, genau das, was ich gesucht habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2162977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2162977</guid><dc:creator><![CDATA[akoww]]></dc:creator><pubDate>Mon, 02 Jan 2012 17:27:39 GMT</pubDate></item></channel></rss>