<?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[Parameter definierung der main Funktion, ein Zeichen zählen]]></title><description><![CDATA[<p>Hi,</p>
<p>bei C++ stehen in der definierung der main Funktion immer int argc und char** argv. Ich möchte wissen für was der int ist und ob das argv wegen den zwei Sternen zwei Dimensional ist. Wie wird dann ein mehrzeiliger (getrennt durch char 13 und char 10) in das zwei Dimensionale char abgelegt?</p>
<p>Wie kann ich das vorkommen eines Zeichen in einem ein Dimiensionalen char zählen? Bleibt mir da nur die Möglichkeit mit der Funktion, die die erste bzw. leste Position des gesuchten Zeichens zurückgibt, und dann das ein Dimensionale Char jeweils kürzen und wieder mit vorheriger genannter Funktion suchen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/274602/parameter-definierung-der-main-funktion-ein-zeichen-zählen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 10:26:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/274602.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Sep 2010 10:59:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 10:59:03 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bei C++ stehen in der definierung der main Funktion immer int argc und char** argv. Ich möchte wissen für was der int ist und ob das argv wegen den zwei Sternen zwei Dimensional ist. Wie wird dann ein mehrzeiliger (getrennt durch char 13 und char 10) in das zwei Dimensionale char abgelegt?</p>
<p>Wie kann ich das vorkommen eines Zeichen in einem ein Dimiensionalen char zählen? Bleibt mir da nur die Möglichkeit mit der Funktion, die die erste bzw. leste Position des gesuchten Zeichens zurückgibt, und dann das ein Dimensionale Char jeweils kürzen und wieder mit vorheriger genannter Funktion suchen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958895</guid><dc:creator><![CDATA[Windows]]></dc:creator><pubDate>Wed, 29 Sep 2010 10:59:03 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 11:26:25 GMT]]></title><description><![CDATA[<p>Windows schrieb:</p>
<blockquote>
<p>Ich möchte wissen für was der int ist</p>
</blockquote>
<p>Anzahl der Elemente in argv.</p>
<blockquote>
<p>und ob das argv wegen den zwei Sternen zwei Dimensional ist.</p>
</blockquote>
<p>Ja.</p>
<blockquote>
<p>Wie wird dann ein mehrzeiliger (getrennt durch char 13 und char 10) in das zwei Dimensionale char abgelegt?</p>
</blockquote>
<p>Mehrzeiliger was? Und was meinst du mit Trennung? In dem argv stehen die Kommandozeilenargumente als nullterminierte C-Strings. Der erste ist argv[0] (per Konvention der Name des Programms), die folgenden sind argv[1] (das erste Kommandozeilenargument, wenn es welche gibt) bis argv[argc-1].</p>
<blockquote>
<p>Wie kann ich das vorkommen eines Zeichen in einem ein Dimiensionalen char zählen? Bleibt mir da nur die Möglichkeit mit der Funktion, die die erste bzw. leste Position des gesuchten Zeichens zurückgibt, und dann das ein Dimensionale Char jeweils kürzen und wieder mit vorheriger genannter Funktion suchen?</p>
</blockquote>
<p>Guck dir nochmal die Grundlagen von C-Strings an, das ist alles sehr verwirrend und du benutzt falsche Ausdrücke. Wenn ich richtig rate, was du meinst: Geh den C-String durch (er endet mit 0) und guck bei jedem Zeichen, ob es das gesuchte ist.</p>
<p>Da du offensichtlich Anfänger bist: Versuche dich von C-Strings allgemein fern zu halten. Benutze den viel einfacher handhabbaren std::string.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958909</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 29 Sep 2010 11:26:25 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 11:37:34 GMT]]></title><description><![CDATA[<p>Was ist std::string? Ich kann und möchte mit net Framework nicht arbeiten.</p>
<p>Also int gibt die anzahl der vorhandenen ersten Dimension zurück? Wozu soll das gut sein?</p>
<p>Also an sich hätte ich jetzt einfach ein Zeichen gezählt in dem ich nach dem ersten vorkommen von Links suche. Kommt eine Positionsangabe zurück, ist klar das es wahr ist, also erhöhre ich das Vorkommen um eins, dann schneide ich dort den char ab (Plus 1 natürlich) und suche wieder nach dem ersten vorkomen von links in dem beschnittenen char. Kommt wieder eine Positionsangabe zurück, ist klar das es wahr ist, also erhöhre ich das Vorkommen um eins, dann schneide ich dort den char ab (Plus 1 natürlich) und suche wieder nach dem ersten vorkomen von links in dem beschnittenen char. usw... erste wenn einmal keine Positionsangabe zurückkommen sollte ist klar, dass die Zählung beendet ist.</p>
<p>Aber dazu muss ich erst wissen wie die Parameter von der Console aus dem argv übergeben werden. Warum ist dieses char zwei Dimensional wenn eine Zeichenkette doch nur eine Dimension braucht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958915</guid><dc:creator><![CDATA[Windows]]></dc:creator><pubDate>Wed, 29 Sep 2010 11:37:34 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 11:44:40 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main (int argc, char* argv[])
{
    for(int i = 0; i &lt; argc; ++i)
         cout &lt;&lt; argv[i] &lt;&lt; endl;
}
</code></pre>
<p>wenn das programm so gestartet wird:<br />
&quot;run prog.exe -heigth 1024 -width 768 -sv_cheats 1&quot;<br />
dann steht in argv folgendes:</p>
<pre><code class="language-cpp">char* argv[] = { &quot;-heigth&quot;, &quot;1024&quot;, &quot;-width&quot;, &quot;768&quot;, &quot;sv_cheats&quot;, &quot;1&quot; };
int argc = 6;
</code></pre>
<p>es kann sein (ich bin mir da nicht sicher) dass auch noch der gesamte pfad zur datei mit angegeben ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958919</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 29 Sep 2010 11:44:40 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 11:47:36 GMT]]></title><description><![CDATA[<p>Da Du Dich hier im Unterforum C++ befindest, gehen wir mal davon aus, daß Du C++ programmieren möchtest und nicht C.</p>
<p>std::string ist die Standardklasse für Strings in C++, darauf bezog sich SeppJ.</p>
<p>Die Übergabe der Anzahl der ersten Dimensionen ist dafür gut, daß ich im Programm feststellen kann, mit wieviel Argumenten mein Programm aufgerufen worden ist.</p>
<p>Beispiel:</p>
<p>prog.exe eins zwei</p>
<p>argc == 3</p>
<p>argv[0] == &quot;prog.exe&quot;<br />
argv[1] == &quot;eins&quot;<br />
argv[2] == &quot;zwei&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958922</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 29 Sep 2010 11:47:36 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 11:49:02 GMT]]></title><description><![CDATA[<p>argv ist ein Feld von nullterminierten (w)chars. Du kannst sie folgendermaßen auslesen.</p>
<pre><code class="language-cpp">if(argc&gt;1)
{
    for(int i=1;i&lt;argc;++i)
        cout &lt;&lt; argv[i] &lt;&lt; std::endl;
}
</code></pre>
<p>Bei den Paramtern Hallo dies sind die Parameter<br />
ensteht so folgende Ausgabe</p>
<pre><code>Hallo
dies
sind
die
Parameter
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1958923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958923</guid><dc:creator><![CDATA[Argc]]></dc:creator><pubDate>Wed, 29 Sep 2010 11:49:02 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 11:50:19 GMT]]></title><description><![CDATA[<p>Das Beispiel ist schon sehr verständlich. Warum aber z.B. war das char bei mir zwei Dimensional und was würde das bewirken bei einer Parameterübergabe?</p>
<p>Kann ich also z.B. einfach EOF verwenden um ein, ein Dimensionales Char per for Schleife durchzulaufen um jedes Feld auf ein Match zu pürfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958924</guid><dc:creator><![CDATA[Windows]]></dc:creator><pubDate>Wed, 29 Sep 2010 11:50:19 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 11:53:10 GMT]]></title><description><![CDATA[<p>Windows schrieb:</p>
<blockquote>
<p>Was ist std::string? Ich kann und möchte mit net Framework nicht arbeiten.</p>
</blockquote>
<p>Kennst du das schon?<br />
<a href="http://lmgtfy.com/?q=c%2B%2B+std%3A%3Astring" rel="nofollow">http://lmgtfy.com/?q=c%2B%2B+std%3A%3Astring</a><br />
Ich empfehle kein .NET im C++ Forum. Wenn du std::string nicht kennst, fehlen dir aber ganz grundlegende Sprachelemente von C++. Wie behandelst du Zeichenketten denn bisher? Als C-String (also nullterminierte char-Arrays?)</p>
<blockquote>
<p>Also int gibt die anzahl der vorhandenen ersten Dimension zurück? Wozu soll das gut sein?</p>
</blockquote>
<p>Dann sag mir doch mal, wie man dem argv sonst die Anzahl der Elemente ansehen soll? Merkste was? Geht nämlich gar nicht anders.</p>
<blockquote>
<p>Also an sich hätte ich jetzt einfach ein Zeichen gezählt in dem ich nach dem ersten vorkommen von Links suche. Kommt eine Positionsangabe zurück, ist klar das es wahr ist, also erhöhre ich das Vorkommen um eins, dann schneide ich dort den char ab (Plus 1 natürlich) und suche wieder nach dem ersten vorkomen von links in dem beschnittenen char. Kommt wieder eine Positionsangabe zurück, ist klar das es wahr ist, also erhöhre ich das Vorkommen um eins, dann schneide ich dort den char ab (Plus 1 natürlich) und suche wieder nach dem ersten vorkomen von links in dem beschnittenen char. usw... erste wenn einmal keine Positionsangabe zurückkommen sollte ist klar, dass die Zählung beendet ist.</p>
</blockquote>
<p>Häh? Was willst du überhaupt machen?</p>
<blockquote>
<p>Aber dazu muss ich erst wissen wie die Parameter von der Console aus dem argv übergeben werden. Warum ist dieses char zwei Dimensional wenn eine Zeichenkette doch nur eine Dimension braucht?</p>
</blockquote>
<p>Ich glaube ich weiß nun, was du nicht verstehst: Ein char ist keine Zeichenkette, sondern ein einzelnes Zeichen. Zeichenketten werden in C (und die Übergabe der main-Funktion ist aus Gründen der Kompatibilität wie in C geschaffen, in C++ würde man wie gesagt eigentlich std::strings übergeben) durch char-Arrays repräsentiert, hier als Zeiger auf das erste Element, also char*. Da für jedes Kommandozeilenargument ein char* nötig ist, hat man ein ganzes Array von char*, also char**. char[0] ist daher ein char* und zeigt auf das erste Element des ersten Kommandozeilenarguments (wie gesagt, immer der Programmname selbst).</p>
<p>Irgendwie habe ich aber das Gefühl, dass dir so viele Grundlagen fehlen, dass du diese Antwort gar nicht verstehst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> . Einfacher kann ich es aber nicht erklären, ohne Bildchen zu malen. Bevor ich das mache, solltest <strong>du</strong> dich aber erstmal besser informieren, dazu gehört auch die Bemühung von Google bei solch einfach recherchierbaren Fragen wie &quot;Was macht der int?&quot; und &quot;Was ist std::string?&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958926</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 29 Sep 2010 11:53:10 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 11:54:22 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Windows schrieb:</p>
<blockquote>
<p>Was ist std::string? Ich kann und möchte mit net Framework nicht arbeiten.</p>
</blockquote>
<p>Kennst du das schon?<br />
<a href="http://lmgtfy.com/?q=c%2B%2B+std%3A%3Astring" rel="nofollow">http://lmgtfy.com/?q=c%2B%2B+std%3A%3Astring</a><br />
Ich empfehle kein .NET im C++ Forum. Wenn du std::string nicht kennst, fehlen dir aber ganz grundlegende Sprachelemente von C++. Wie behandelst du Zeichenketten denn bisher? Als C-String (also nullterminierte char-Arrays?)</p>
<blockquote>
<p>Also int gibt die anzahl der vorhandenen ersten Dimension zurück? Wozu soll das gut sein?</p>
</blockquote>
<p>Dann sag mir doch mal, wie man dem argv sonst die Anzahl der Elemente ansehen soll? Merkste was? Geht nämlich gar nicht anders.</p>
<blockquote>
<p>Also an sich hätte ich jetzt einfach ein Zeichen gezählt in dem ich nach dem ersten vorkommen von Links suche. Kommt eine Positionsangabe zurück, ist klar das es wahr ist, also erhöhre ich das Vorkommen um eins, dann schneide ich dort den char ab (Plus 1 natürlich) und suche wieder nach dem ersten vorkomen von links in dem beschnittenen char. Kommt wieder eine Positionsangabe zurück, ist klar das es wahr ist, also erhöhre ich das Vorkommen um eins, dann schneide ich dort den char ab (Plus 1 natürlich) und suche wieder nach dem ersten vorkomen von links in dem beschnittenen char. usw... erste wenn einmal keine Positionsangabe zurückkommen sollte ist klar, dass die Zählung beendet ist.</p>
</blockquote>
<p>Häh? Was willst du überhaupt machen?</p>
<blockquote>
<p>Aber dazu muss ich erst wissen wie die Parameter von der Console aus dem argv übergeben werden. Warum ist dieses char zwei Dimensional wenn eine Zeichenkette doch nur eine Dimension braucht?</p>
</blockquote>
<p>Ich glaube ich weiß nun, was du nicht verstehst: Ein char ist keine Zeichenkette, sondern ein einzelnes Zeichen. Zeichenketten werden in C (und die Übergabe der main-Funktion ist aus Gründen der Kompatibilität wie in C geschaffen, in C++ würde man wie gesagt eigentlich std::strings übergeben) durch char-Arrays repräsentiert, hier als Zeiger auf das erste Element, also char*. Da für jedes Kommandozeilenargument ein char* nötig ist, hat man ein ganzes Array von char*, also char**. char[0] ist daher ein char* und zeigt auf das erste Element des ersten Kommandozeilenarguments (wie gesagt, immer der Programmname selbst).</p>
<p>Irgendwie habe ich aber das Gefühl, dass dir so viele Grundlagen fehlen, dass du diese Antwort gar nicht verstehst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> . Einfacher kann ich es aber nicht erklären, ohne Bildchen zu malen. Bevor ich das mache, solltest <strong>du</strong> dich aber erstmal besser informieren, dazu gehört auch die Bemühung von Google bei solch einfach recherchierbaren Fragen wie &quot;Was macht der int?&quot; und &quot;Was ist std::string?&quot;.</p>
</blockquote>
<p>Seit wann kann man bitte schön nicht die anzahl der Elemente eines ein Dimensionalen Chars zählen? Merkste was?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958928</guid><dc:creator><![CDATA[Windows]]></dc:creator><pubDate>Wed, 29 Sep 2010 11:54:22 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 11:57:49 GMT]]></title><description><![CDATA[<p>Mach mal vor. Hier ich geb dir einen Funktionskopf:</p>
<pre><code class="language-cpp">int anzahl_elemente(char array[])
{
 return // Was nun?
}
</code></pre>
<p>Und selbst wenn du jetzt eine Lösung mit nullterminierung bastelst: Mach mal in 2D.</p>
<p>Wenn du pampig wirst ohne nachzudenken vergraulst du schnell alle Helfer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958929</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 29 Sep 2010 11:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 11:58:16 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Mach mal vor.</p>
</blockquote>
<p>Wenn man mit einem Element die zeichen vor einem &quot;,&quot; meint, dann müsste man einfach nach dem &quot;,&quot; suchen und bis dahin (minus 1 natürlich) abschneiden. Aber wahrscheinlich wird es die Console auch genauso machen. Zu managent einfach die Übergabe, abhängig von dem C String die der Mensch angibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958933</guid><dc:creator><![CDATA[Windows]]></dc:creator><pubDate>Wed, 29 Sep 2010 11:58:16 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:19:07 GMT]]></title><description><![CDATA[<p>Ein eindimensionales Array von char - Werten muß aber nicht zwangsläufig ein Komma enthalten. Es muß auch nicht zwangsläufig ein '\0' enthalten.<br />
Wie also soll man die Länge feststellen, wenn man keine Ahnung hat, welche Zeichen drin sind, bzw. welches Zeichen das letzte im Array ist?<br />
Das ist die Frage, die Dir SeppJ gestellt hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958942</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:19:07 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:22:03 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>Ein eindimensionales Array von char - Werten muß aber nicht zwangsläufig ein Komma enthalten. Es muß auch nicht zwangsläufig ein '\0' enthalten.<br />
Wie also soll man die Länge feststellen, wenn man keine Ahnung hat, welche Zeichen drin sind, bzw. welches Zeichen das letzte im Array ist?<br />
Das ist die Frage, die Dir SeppJ gestellt hat.</p>
</blockquote>
<p>Also mal angenommen das Char (was durch die menschliche Eingabe über die Console resultiert) hat kein \0 (was ich nicht verstehe warum das so sein sollte?), wie soll dann die Console erkennen wo das ende ist? Also muss es ein \0 geben!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958943</guid><dc:creator><![CDATA[Windows]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:22:03 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:22:45 GMT]]></title><description><![CDATA[<p>Argc schrieb:</p>
<blockquote>
<p>argv ist ein Feld von nullterminierten (w)chars.</p>
</blockquote>
<p>Du musst es dir folgendermaßen vorstellen, wie argv im Speicher liegt:</p>
<pre><code>Programmname\01.Paramter\02.Paramter\0 ab hier steht sonstwas im Speicher
</code></pre>
<p>Wobei \0 die Escapesequenzen sind. D.h., du musst die Anzahl von argv kennen, um etwas sinnvolles damit anstellen zu können (siehe die vorigen Posts).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958944</guid><dc:creator><![CDATA[Argc]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:22:45 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:24:22 GMT]]></title><description><![CDATA[<p>Argc schrieb:</p>
<blockquote>
<p>Argc schrieb:</p>
<blockquote>
<p>argv ist ein Feld von nullterminierten (w)chars.</p>
</blockquote>
<p>Du musst es dir folgendermaßen vorstellen, wie argv im Speicher liegt:</p>
<pre><code>Programmname\01.Paramter\02.Paramter\0 ab hier steht sonstwas im Speicher
</code></pre>
<p>Wobei \0 die Escapesequenzen sind. D.h., du musst die Anzahl von argv kennen, um etwas sinnvolles damit anstellen zu können (siehe die vorigen Posts).</p>
</blockquote>
<p>Nach dem Beispiel zeigte aber argc die anzahl der Elemente (getrennt durch ,) und nicht die Anzahl der Felder des C String.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958945</guid><dc:creator><![CDATA[Windows]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:24:22 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:27:34 GMT]]></title><description><![CDATA[<p>Windows schrieb:</p>
<blockquote>
<p>Belli schrieb:</p>
<blockquote>
<p>Ein eindimensionales Array von char - Werten muß aber nicht zwangsläufig ein Komma enthalten. Es muß auch nicht zwangsläufig ein '\0' enthalten.<br />
Wie also soll man die Länge feststellen, wenn man keine Ahnung hat, welche Zeichen drin sind, bzw. welches Zeichen das letzte im Array ist?<br />
Das ist die Frage, die Dir SeppJ gestellt hat.</p>
</blockquote>
<p>Also mal angenommen das Char (was durch die menschliche Eingabe über die Console resultiert) hat kein \0 (was ich nicht verstehe warum das so sein sollte?), wie soll dann die Console erkennen wo das ende ist? Also muss es ein \0 geben!</p>
</blockquote>
<p>Ja, Du hast in diesem Fall ja auch den Spezialfall, daß in Deinem char - Array ein C-String liegt. Ein C-String ist per Definition Nullterminiert.<br />
Aber ein char - Array muß nicht zwangsläufig einen C-String enthalten, und ein ganz allgemeines eindimensionales Array von einem beliebigen Datentyp erst recht nicht! Und deshalb kann man die Länge eines Arrays nicht bestimmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958948</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:27:34 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:29:26 GMT]]></title><description><![CDATA[<p>Klar in argv stehen natürlich nur die Speicheradressen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958950</guid><dc:creator><![CDATA[Argc]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:29:26 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:32:19 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>Ja, Du hast in diesem Fall ja auch den Spezialfall, daß in Deinem char - Array ein C-String liegt. Ein C-String ist per Definition Nullterminiert.</p>
</blockquote>
<p>Nachtrag:</p>
<pre><code class="language-cpp">char c_string[100];

strcpy(c_string, &quot;hallo&quot;);
</code></pre>
<p>1. Wieviel Elemente hat denn jetzt das Array?<br />
2. Wie stellst Du diese Anzahl in einer Funktion fest, der ich dieses Array übergebe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958957</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:32:19 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:32:52 GMT]]></title><description><![CDATA[<p>Also die Console übergibt einfach ein riesiges Array an argv? Warum denn das? Warum übergibt es nicht einfach ein Array was so groß ist wie die anzahld er Elemente? Komischer Consolen Erfinder!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958958</guid><dc:creator><![CDATA[Windows]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:32:52 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:37:47 GMT]]></title><description><![CDATA[<p>Die Konsole übergibt ein Array von char - Zeigern und die Anzahl der übergebenen char - Zeiger. Jeder der übergebenen char - Zeiger zeigt auf ein Array von chars, das mit einem 0 - Zeichen beendet wird.</p>
<p>Wer hat was von 'riesig' geschrieben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958960</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:37:47 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:40:58 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>Die Konsole übergibt ein Array von char - Zeigern und die Anzahl der übergebenen char - Zeiger. Jeder der übergebenen char - Zeiger zeigt auf ein Array von chars, das mit einem 0 - Zeichen beendet wird.</p>
<p>Wer hat was von 'riesig' geschrieben?</p>
</blockquote>
<p>ich habe was von Riesig geeschrieben.<br />
So nach dem wie man es mir erklärt hat braucht man den argc um wissen zu können wie viele felder von dem argv benutzt werden. Da man aber normalerweise auch arrays zählen kann, gehe ich davon aus das die Console mehr felder übergibt als gefült sind und mit hilfe des argc dann weis wie viele gefült sind. Anders ergibt es mir logisch einfach keinen sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958964</guid><dc:creator><![CDATA[Windows]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:40:58 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:45:07 GMT]]></title><description><![CDATA[<p>Wie weiter oben ausgeführt wurde, kann man Arrays nicht zählen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958968</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:45:07 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:48:48 GMT]]></title><description><![CDATA[<p>Windows schrieb:</p>
<blockquote>
<p>Anders ergibt es mir logisch einfach keinen sinn.</p>
</blockquote>
<p>Ich habe eine logische Erklärung für dich, die alle Beobachtungen erklärt: Du hast keine Ahnung, merkst es selber nicht, hältst dafür aber andere Leute für dumm, weil sie Sachen machen die du nicht verstehst.</p>
<p>Du musst immer noch diese Frage beantworten:</p>
<pre><code class="language-cpp">int zaehle_elemente(char array[])
{
  // Wieviele Elemente hat array?
}
</code></pre>
<p>Ich verabschiede mich erstmal aus der Diskussion. Du bist entweder ein Troll oder lernresistent, es hat keinen Sinn dir weiter zu helfen. Zumal du keinerlei Eigeninitiative zeigst, dabei aber schon drei Seiten Erklärungen zu einem absolut simplen Thema bekommen hast, welches in jedem Tutorial erklärt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958973</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:48:48 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:51:42 GMT]]></title><description><![CDATA[<p>Ein Versuch noch:</p>
<pre><code class="language-cpp">int i=0;
while(argv[i])
{
	cout &lt;&lt; argv[i++] &lt;&lt; endl;
}
</code></pre>
<p>Das kann funktionieren, jedoch sollte man dies niemals machen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958979</guid><dc:creator><![CDATA[Argc]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:51:42 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:54:30 GMT]]></title><description><![CDATA[<p>Okay, dies ist ein Spezialfall, denn argv[argc]=0</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958985</guid><dc:creator><![CDATA[Argc]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:54:30 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter definierung der main Funktion, ein Zeichen zählen on Wed, 29 Sep 2010 12:59:19 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Windows schrieb:</p>
<blockquote>
<p>Anders ergibt es mir logisch einfach keinen sinn.</p>
</blockquote>
<p>Ich habe eine logische Erklärung für dich, die alle Beobachtungen erklärt: Du hast keine Ahnung, merkst es selber nicht, hältst dafür aber andere Leute für dumm, weil sie Sachen machen die du nicht verstehst.</p>
<p>Du musst immer noch diese Frage beantworten:</p>
<pre><code class="language-cpp">int zaehle_elemente(char array[])
{
  // Wieviele Elemente hat array?
}
</code></pre>
<p>Ich verabschiede mich erstmal aus der Diskussion. Du bist entweder ein Troll oder lernresistent, es hat keinen Sinn dir weiter zu helfen. Zumal du keinerlei Eigeninitiative zeigst, dabei aber schon drei Seiten Erklärungen zu einem absolut simplen Thema bekommen hast, welches in jedem Tutorial erklärt wird.</p>
</blockquote>
<p>Sehr schlau. Genau ich habe keine Ahnung und nun? Ich weis es du weißt den Ursprungsgrund selber nicht dafür und kann es mir daher nicht erklären. Nun ist aber schluss hier mit dem Gezülse! Menschliche Sprache ist abschaum. Macht wohl doch mehr sinn selber in den tiefen der Bits nach den Grund zu suchen. Uni-Abschaum-Schüler. Hilfe mein Land ist Pleite!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958990</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958990</guid><dc:creator><![CDATA[Windows]]></dc:creator><pubDate>Wed, 29 Sep 2010 12:59:19 GMT</pubDate></item></channel></rss>