<?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[Länge von einem 2-dimensionalem Array und StringBuffer?]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>Folgende Fragen und bitte nicht auf Literatur aufmerksam machen, denn die krieg ich erst übermorgen. Aber bis dahin würde ich gerne mein Programm zu Ende (um-)schreiben.</p>
<p>Habe folgende Methode:</p>
<p>bool whatever(char spielfeld[][10], int spalte, int zeile, char zeichen)<br />
{</p>
<p>......</p>
<p>}</p>
<p>Muss ich im Methodenrumpf schon das char-Array deklarieren, obwohl ich noch gar nicht weiß, wie viel da überhaupt rein sollen?</p>
<p>Das nächste ist, in Java habe ich die tolle Variable length, die mir die Anzahl der Elemente im Array angibt.<br />
Möchte ich nun spielfeld[0].length machen, habe ich in C++ ein dickes Problem.<br />
Natürlich kann ich int size = sizeof(spielfeld); machen, ABER:<br />
Wie gehe ich denn z.B. bei so etwas vor:</p>
<p>while (go &lt; spielfeld[0].length &amp;&amp; go2 &lt; length)<br />
{<br />
//<br />
}<br />
Wat denn nu? Bei dem go2 kann ich ja size hernehmen, aber bei go &lt; size kommt nur Mist raus (was ja klar ist). Wie kann ich das simpelst Prob beheben?</p>
<p>Und ferner habe ich festgestellt, dass es kein StringBuffer Header gibt für C++.... Gibt es wenigstens eine ähnliche Header?</p>
<p>Danke im Voraus...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/193206/länge-von-einem-2-dimensionalem-array-und-stringbuffer</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 19:48:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193206.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 Sep 2007 19:17:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Länge von einem 2-dimensionalem Array und StringBuffer? on Sun, 23 Sep 2007 19:17:11 GMT]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>Folgende Fragen und bitte nicht auf Literatur aufmerksam machen, denn die krieg ich erst übermorgen. Aber bis dahin würde ich gerne mein Programm zu Ende (um-)schreiben.</p>
<p>Habe folgende Methode:</p>
<p>bool whatever(char spielfeld[][10], int spalte, int zeile, char zeichen)<br />
{</p>
<p>......</p>
<p>}</p>
<p>Muss ich im Methodenrumpf schon das char-Array deklarieren, obwohl ich noch gar nicht weiß, wie viel da überhaupt rein sollen?</p>
<p>Das nächste ist, in Java habe ich die tolle Variable length, die mir die Anzahl der Elemente im Array angibt.<br />
Möchte ich nun spielfeld[0].length machen, habe ich in C++ ein dickes Problem.<br />
Natürlich kann ich int size = sizeof(spielfeld); machen, ABER:<br />
Wie gehe ich denn z.B. bei so etwas vor:</p>
<p>while (go &lt; spielfeld[0].length &amp;&amp; go2 &lt; length)<br />
{<br />
//<br />
}<br />
Wat denn nu? Bei dem go2 kann ich ja size hernehmen, aber bei go &lt; size kommt nur Mist raus (was ja klar ist). Wie kann ich das simpelst Prob beheben?</p>
<p>Und ferner habe ich festgestellt, dass es kein StringBuffer Header gibt für C++.... Gibt es wenigstens eine ähnliche Header?</p>
<p>Danke im Voraus...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1371219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1371219</guid><dc:creator><![CDATA[Java-Coder*]]></dc:creator><pubDate>Sun, 23 Sep 2007 19:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von einem 2-dimensionalem Array und StringBuffer? on Sun, 23 Sep 2007 19:28:10 GMT]]></title><description><![CDATA[<p>Java-Coder* schrieb:</p>
<blockquote>
<p>...<br />
Das nächste ist, in Java habe ich die tolle Variable length, die mir die Anzahl der Elemente im Array angibt. ...</p>
</blockquote>
<p>Wieso ? gibt's doch in C++ auch:</p>
<pre><code class="language-cpp">bool whatever(vector&lt;string&gt; spielfeld, size_t spalte, size_t zeile, char zeichen) {
   cout &lt;&lt; &quot;Anzahl der Strings: &quot; &lt;&lt; spielfeld.size() &lt;&lt; &quot;\n&quot;;
   cout &lt;&lt; &quot;Länge des 4.ten Strings: &quot; &lt;&lt; spielfeld[3].length() &lt;&lt; &quot;\n&quot;;
// .. oder mit Limit-Prüfung: spielfeld.at(3).length()
</code></pre>
<p>Du würdest doch in Java auch keine char-Arrays verwenden, sondern einen String oder -Buffer...<br />
Und wenn man &quot;Arrays mit Längen oder mit dynamsciher Größe&quot; braucht, nimmt man in C++ eben vector (oder irgendeinen anderen Container)...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1371225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1371225</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sun, 23 Sep 2007 19:28:10 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von einem 2-dimensionalem Array und StringBuffer? on Sun, 23 Sep 2007 19:52:06 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Java-Coder* schrieb:</p>
<blockquote>
<p>...<br />
Das nächste ist, in Java habe ich die tolle Variable length, die mir die Anzahl der Elemente im Array angibt. ...</p>
</blockquote>
<p>Wieso ? gibt's doch in C++ auch:</p>
<pre><code class="language-cpp">bool whatever(vector&lt;string&gt; spielfeld, size_t spalte, size_t zeile, char zeichen) {
   cout &lt;&lt; &quot;Anzahl der Strings: &quot; &lt;&lt; spielfeld.size() &lt;&lt; &quot;\n&quot;;
   cout &lt;&lt; &quot;Länge des 4.ten Strings: &quot; &lt;&lt; spielfeld[3].length() &lt;&lt; &quot;\n&quot;;
// .. oder mit Limit-Prüfung: spielfeld.at(3).length()
</code></pre>
<p>Du würdest doch in Java auch keine char-Arrays verwenden, sondern einen String oder -Buffer...<br />
Und wenn man &quot;Arrays mit Längen oder mit dynamsciher Größe&quot; braucht, nimmt man in C++ eben vector (oder irgendeinen anderen Container)...</p>
<p>Gruß,</p>
<p>Simon2.</p>
</blockquote>
<p>Das Prob ist, ich brauch an <strong>dieser</strong> Stelle das 2-dimensionale Char-Array um das Spielfeld darzzustellen... String empfiehlt sich überhaupt nicht...</p>
<p>Es gibt die Methode length() ? Da sagt mir mein C-Compiler doch was anderes...</p>
<p>Um die Sache mit den Buffern konkreter zu machen... Hier ein Beispiel wo ich das brauche, was aber nicht geht..</p>
<pre><code>void showSpielfeld(char spielfeld[][10]) 
{
    int size = sizeof(spielfeld);

string Geruest;
    string zeile_start = &quot; &quot;; // erste Zeile 1 2 3 4
    string zeile_end = &quot;-&quot;; // letzte Zeile -------
    string zeile_divide = &quot;|&quot;; // Trennzeile |-----|

    if (/*spielfeld[0].length*/ size &gt; 9) {
      for (int i = 1; i &lt;= /*spielfeld[0].length?????*/ size; i++)
        zeile_start.append((i/10==0) ? &quot; &quot; : i/10).append(&quot; &quot;);
      zeile_start.append(&quot;\n &quot;);
    }
    for (int i = 1; i &lt;= /*spielfeld[0].length????*/ size /*was falsch ist*/; i++) {
      zeile_start.append(i%10).append(&quot; &quot;);
      zeile_divide.append((i==/*spielfeld[0].length*/ size)? &quot;-|&quot; : &quot;--&quot;);
      zeile_end.append(&quot;--&quot;);
    }
    cout &lt;&lt; zeile_start;
    cout &lt;&lt; zeile_divide;

    for (char arrZeile[] : spielfeld) { //alle Zeilen durchgehen
      for (char arrSpalte : arrZeile) { //alle Spalten durchgehen
        Geruest.append(&quot;|&quot;);
        Geruest.append((arrSpalte == '\0') ? ' ' : arrSpalte);
      }
      Geruest.append(&quot;|\n&quot;);
    }
    Geruest.append(zeile_end).append(&quot;\n&quot;);
    cout &lt;&lt; Geruest); 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1371241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1371241</guid><dc:creator><![CDATA[Java-Coder*]]></dc:creator><pubDate>Sun, 23 Sep 2007 19:52:06 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von einem 2-dimensionalem Array und StringBuffer? on Sun, 23 Sep 2007 19:57:28 GMT]]></title><description><![CDATA[<p>der std::vector ist so ähnlich wie java arrays, naja, nicht wirklich, aber tuts für das was du willst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1371245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1371245</guid><dc:creator><![CDATA[rölpz]]></dc:creator><pubDate>Sun, 23 Sep 2007 19:57:28 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von einem 2-dimensionalem Array und StringBuffer? on Sun, 23 Sep 2007 20:09:33 GMT]]></title><description><![CDATA[<p>Java-Coder* schrieb:</p>
<blockquote>
<p>Das Prob ist, ich brauch an <strong>dieser</strong> Stelle das 2-dimensionale Char-Array um das Spielfeld darzzustellen... String empfiehlt sich überhaupt nicht...</p>
</blockquote>
<p>Wieso empfiehlt sich ein String nicht? Bezweifle ich doch.</p>
<blockquote>
<p>Es gibt die Methode length() ? Da sagt mir mein C-Compiler doch was anderes...</p>
</blockquote>
<p>Was denn nun? C++ oder C?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1371250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1371250</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sun, 23 Sep 2007 20:09:33 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von einem 2-dimensionalem Array und StringBuffer? on Sun, 23 Sep 2007 20:34:21 GMT]]></title><description><![CDATA[<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>Wieso empfiehlt sich ein String nicht? Bezweifle ich doch.</p>
</blockquote>
<p>An der Stelle geht es nicht, weil ich das im ganzen Programm schon so realisiert hab.... Mann, wieso kann es nicht einfach eine length für Arrays geben? <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>
<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>Was denn nun? C++ oder C?</p>
</blockquote>
<p>C++...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1371256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1371256</guid><dc:creator><![CDATA[Java-Coder*]]></dc:creator><pubDate>Sun, 23 Sep 2007 20:34:21 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von einem 2-dimensionalem Array und StringBuffer? on Mon, 24 Sep 2007 07:45:17 GMT]]></title><description><![CDATA[<p>Java-Coder* schrieb:</p>
<blockquote>
<p>...<br />
Das Prob ist, ich brauch an <strong>dieser</strong> Stelle das 2-dimensionale Char-Array um das Spielfeld darzzustellen...</p>
</blockquote>
<p>-&gt; vector&lt;vector&lt;char&gt; &gt;</p>
<p>Java-Coder* schrieb:</p>
<blockquote>
<p>...<br />
Es gibt die Methode length() ? Da sagt mir mein C-Compiler doch was anderes...</p>
</blockquote>
<p>Mein COBOL-Compiler auch ... aber das spielt doch hier beides keine Rolle, oder ?<br />
std::string und std::vector haben beide &quot;length&quot; (heissen vector::size(), string::size() und string::length()) und Anderes habe ich auch nicht behauptet.</p>
<p>Java-Coder* schrieb:</p>
<blockquote>
<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>Wieso empfiehlt sich ein String nicht? Bezweifle ich doch.</p>
</blockquote>
<p>An der Stelle geht es nicht, weil ich das im ganzen Programm schon so realisiert hab....</p>
</blockquote>
<p>Tja, da bleibt eben die Frage, ob Du diesen Designfehler in Deinem Programm weiterschleifen oder mal in Ordnung bringen willst.</p>
<p>Java-Coder* schrieb:</p>
<blockquote>
<p>.... Mann, wieso kann es nicht einfach eine length für Arrays geben? :D...</p>
</blockquote>
<p>Warum hat integer kein length() ? oder string kein sqrt() ? ...<br />
Wenn Du für Deine Anforderungen den richtigen Typen wählst, klappt's auch mit dem Nachbarn... <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>
<p>Aber Dein (konkretes) Problem ist relativ einfach zu fixen: Dimension überall mitgeben.<br />
(die restlichen Nachteile gegenüber vector wirst Du noch rausfinden)</p>
<p>Java-Coder* schrieb:</p>
<blockquote>
<p>...<br />
Und ferner habe ich festgestellt, dass es kein StringBuffer Header gibt für C++.... Gibt es wenigstens eine ähnliche Header?...</p>
</blockquote>
<p>für &quot;etwas Ähnliches&quot; wäre hilfreich, zu wissen, wofür Du es benutzen möchtest. In Java habe ich StringBuffer im Wesentlichen wg. ihres Geschwindigkeitsvorteils (bzgl. append()) ggü. String kennengelernt - bei C++ unnötig, weil hier nicht die ganzen temporären Kopien erstellt werden (letztlich, weil string ein Objekt ist wie jedes andere auch)...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1371263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1371263</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 24 Sep 2007 07:45:17 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von einem 2-dimensionalem Array und StringBuffer? on Mon, 24 Sep 2007 05:28:25 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>std::string und std::vector haben beide length() und Anderes habe ich auch nicht behauptet.</p>
</blockquote>
<p>Sorry, aber beide haben size(). length() hat nur string zusätzlich dazu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1371303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1371303</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 24 Sep 2007 05:28:25 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von einem 2-dimensionalem Array und StringBuffer? on Mon, 24 Sep 2007 07:43:17 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Simon2 schrieb:</p>
<blockquote>
<p>std::string und std::vector haben beide length() und Anderes habe ich auch nicht behauptet.</p>
</blockquote>
<p>Sorry, aber beide haben size(). length() hat nur string zusätzlich dazu.</p>
</blockquote>
<p>Hast natürlich Recht - sorry, vertippt (werd's korrigieren).</p>
<p>Danke,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1371359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1371359</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 24 Sep 2007 07:43:17 GMT</pubDate></item></channel></rss>