<?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[The Pointer is pointing on you...]]></title><description><![CDATA[<p>Hatte langeweile und wollte mal mit Zeiger arbeiten... Was natürlich in die Hose ging &gt;.&gt;</p>
<p>Weiß jemand was ich falsch gemacht habe?...</p>
<p>...Eingabe: caesar<br />
...Ausgabe: f</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

char rot3_func(char* p)
{
    for(int i=0;p[i]!='\0';i++)
    {
        p[i]+=3;
    }
    return(*p);
}

int main()
{   char eingabe;
    std::cout &lt;&lt; &quot;Geben Sie den Text ein:&quot; &lt;&lt; std::endl;
    std::cin.get(eingabe);
    std::cout &lt;&lt; rot3_func(&amp;eingabe) &lt;&lt; std::endl;
}
</code></pre>
<p>Gruß Mentras aus Wien</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/245270/the-pointer-is-pointing-on-you</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 21:14:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245270.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 11 Jul 2009 21:16:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:16:02 GMT]]></title><description><![CDATA[<p>Hatte langeweile und wollte mal mit Zeiger arbeiten... Was natürlich in die Hose ging &gt;.&gt;</p>
<p>Weiß jemand was ich falsch gemacht habe?...</p>
<p>...Eingabe: caesar<br />
...Ausgabe: f</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

char rot3_func(char* p)
{
    for(int i=0;p[i]!='\0';i++)
    {
        p[i]+=3;
    }
    return(*p);
}

int main()
{   char eingabe;
    std::cout &lt;&lt; &quot;Geben Sie den Text ein:&quot; &lt;&lt; std::endl;
    std::cin.get(eingabe);
    std::cout &lt;&lt; rot3_func(&amp;eingabe) &lt;&lt; std::endl;
}
</code></pre>
<p>Gruß Mentras aus Wien</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741192</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:16:02 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:18:51 GMT]]></title><description><![CDATA[<p>Bitte nächstes Mal auch noch sagen, was du erwartest und inwiefern das Programmverhalten davon abweicht, bzw. wo ein Fehler liegt.</p>
<p>Du hast einen einzelnen <code>char</code> und verlangst, dass der eine Zeichenkette speichern kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741195</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:18:51 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:30:21 GMT]]></title><description><![CDATA[<p>Wenn du C-Strings ausprobieren willst, musst du auch beachten, dass das char-Arrays sind. Also musst du auch entsprechend deklarieren (z.B. &quot;char eingabe[128];&quot;). Wie bereits gesagt wurde, ein Zeichen (char) und eine Zeichenkette (char*, char[]) sind nicht dasselbe.</p>
<p>EDIT: Und dann dürfte dir sicher auch klar werden, dass dein Rückgabewert so relativ nutzlos ist (denn das ist dann auch nur ein einzelnes Zeichen). Gib ein char* zurück, dann macht das auch mehr Sinn und du kannst die Rückgabe direkt in Ausdrücken verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741204</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:30:21 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:28:49 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Du hast einen einzelnen <code>char</code> und verlangst, dass der eine Zeichenkette speichern kann?</p>
</blockquote>
<p>Dummer Fehler, hab dann was falsch verstanden, grade im Buch nachgeschlagen:</p>
<pre><code class="language-cpp">char* a = &quot;Hallo&quot;;
a[2] = 3;
</code></pre>
<p>Dachte ich könnte das auch so machen, einen String will ich nicht benutzen^^ Wollte es mal ohne schaffen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Nexus schrieb:</p>
<blockquote>
<p>Bitte nächstes Mal auch noch sagen, was du erwartest und inwiefern das Programmverhalten davon abweicht, bzw. wo ein Fehler liegt.</p>
</blockquote>
<p>Jap, mein Fehler. Was ich machen will. Ich will die Verschiebechiffre programmieren. Sie bekommt eine Zeichenkette, mit einer Funktion(rot3_func) soll jedes Zeichen um 3 Zeichen verschiebt werden. Und zurückgeliefert werden...<br />
Nun weiß ich nicht wo ungefähr der Fehler ist. Beim Einlesen(70%) der Zeichenkette oder bei der Rückgabe(30%)?</p>
<p>Lg Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741206</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:28:49 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:31:59 GMT]]></title><description><![CDATA[<p>Mentras schrieb:</p>
<blockquote>
<pre><code class="language-cpp">char* a = &quot;Hallo&quot;;
</code></pre>
</blockquote>
<p>So weist du a die Adresse des <em>Stringliterals</em> &quot;Hallo&quot; zu! Das ist also nicht so ratsam, wenn du deine Zeichenkette auch ändern willst. Mach es lieber so:</p>
<pre><code class="language-cpp">char a[] = &quot;Hallo&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1741210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741210</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:31:59 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:35:14 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Mentras schrieb:</p>
<blockquote>
<pre><code class="language-cpp">char* a = &quot;Hallo&quot;;
</code></pre>
</blockquote>
<p>So weist du a die Adresse des <em>Stringliterals</em> &quot;Hallo&quot; zu! Das ist also nicht so ratsam, wenn du deine Zeichenkette auch ändern willst. Mach es lieber so:</p>
<pre><code class="language-cpp">char a[] = &quot;Hallo&quot;;
</code></pre>
</blockquote>
<p>Gut, das ist aber initialisieren <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="😞"
    /></p>
<p>Ich darf ja nicht einfach:</p>
<pre><code class="language-cpp">char a[];
</code></pre>
<p>Da ich gelernt habe, dass ich eine Größe angeben muss...</p>
<blockquote>
<p>Wenn du C-Strings ausprobieren willst, musst du auch beachten, dass das char-Arrays sind. Also musst du auch entsprechend deklarieren (z.B. &quot;char eingabe[128];&quot;). Wie bereits gesagt wurde, ein Zeichen (char) und eine Zeichenkette (char*, char[]) sind nicht dasselbe.</p>
</blockquote>
<p>Jap, eine Möglichkeit wäre die Größe vorher zu bestimmen, aber jetzt kommen &quot;was ist wenn&quot;-Fragen, wenn der Benutzer 128 Zeichen eingibt...</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /> Bin irgendwie durcheinander, dabei erschien mir die Sache so easy <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="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741213</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:35:14 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:36:11 GMT]]></title><description><![CDATA[<p>[offtopic]Das kommt dann davon, wenn man dem Ratschlag folgt, gleich &quot;richtiges&quot; C++ zu lernen, bevor man sich mit den Grundlagen bzw. C auseinandersetzt. Gefährlich, gefährlich[/offtopic]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741215</guid><dc:creator><![CDATA[Alter Zeh]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:36:11 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:37:17 GMT]]></title><description><![CDATA[<p>Alter Zeh schrieb:</p>
<blockquote>
<p>[offtopic]Das kommt dann davon, wenn man dem Ratschlag folgt, gleich &quot;richtiges&quot; C++ zu lernen, bevor man sich mit den Grundlagen bzw. C auseinandersetzt. Gefährlich, gefährlich[/offtopic]</p>
</blockquote>
<p>Learning by doing</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741217</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:37:17 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:39:25 GMT]]></title><description><![CDATA[<p>Mentras schrieb:</p>
<blockquote>
<p>Nun weiß ich nicht wo ungefähr der Fehler ist. Beim Einlesen(70%) der Zeichenkette oder bei der Rückgabe(30%)?<br />
Lg Mentras</p>
</blockquote>
<p>Der Fehler liegt beim Einlesen(70%) und bei der Rückgabe(30%). Macht summa summarum 100%. <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>Zum Einlesen nimm einen sauber initialisiertes char Array:</p>
<pre><code class="language-cpp">char buf[1024] = {0};
</code></pre>
<p>Aus deiner Funktion mach:</p>
<pre><code class="language-cpp">void rot3_func(char* p); // Prototyp.
</code></pre>
<p>Denn du übergibst einen Zeiger auf das Array, dessen Inhalt in der Funktion geändert wird. Darum muss nix zurückgegeben werden.<br />
Gruß,<br />
e.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741220</guid><dc:creator><![CDATA[err0r]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:39:25 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:40:06 GMT]]></title><description><![CDATA[<p>das war nicht gegen dich gerichtet, mehr gegen die leute, die propagieren man sollte lieber gar nicht erst den &quot;alten, unnötigen c mist&quot; lernen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741222</guid><dc:creator><![CDATA[Alter Zeh]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:40:06 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:42:52 GMT]]></title><description><![CDATA[<p>err0r schrieb:</p>
<blockquote>
<p>Mentras schrieb:</p>
<blockquote>
<p>Nun weiß ich nicht wo ungefähr der Fehler ist. Beim Einlesen(70%) der Zeichenkette oder bei der Rückgabe(30%)?<br />
Lg Mentras</p>
</blockquote>
<p>Der Fehler liegt beim Einlesen(70%) und bei der Rückgabe(30%). Macht summa summarum 100%. <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>Zum Einlesen nimm einen sauber initialisiertes char Array:</p>
<pre><code class="language-cpp">char buf[1024] = {0};
</code></pre>
<p>Aus deiner Funktion mach:</p>
<pre><code class="language-cpp">void rot3_func(char* p); // Prototyp.
</code></pre>
<p>Denn du übergibst einen Zeiger auf das Array, dessen Inhalt in der Funktion geändert wird. Darum muss nix zurückgegeben werden.<br />
Gruß,<br />
e.</p>
</blockquote>
<p>Ahh, das klingt logisch <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="😃"
    /><br />
Werde ich gleich mal testen.</p>
<blockquote>
<p>das war nicht gegen dich gerichtet, mehr gegen die leute, die propagieren man sollte lieber gar nicht erst den &quot;alten, unnötigen c mist&quot; lernen.</p>
</blockquote>
<p>Ah ^^, C lerne ich ja indirekt durch ein Openbook C von A bis Z. Und solche C-Strings haben was, was mich anzieht x)</p>
<p>Lg Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741227</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:42:52 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:44:50 GMT]]></title><description><![CDATA[<p>Mentras schrieb:</p>
<blockquote>
<p>Ich will die Verschiebechiffre programmieren.</p>
</blockquote>
<p>Code: (VORSICHT SPOILER!):</p>
<pre><code class="language-cpp">void chiffre( char *buffer, const unsigned int bufferLength )
{
	for( unsigned int i = 0; i &lt; bufferLength; ++i )
		buffer[i] += 3;
};
</code></pre>
<p>Sorry, aber da hatte ich jetzt Bock zu...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741230</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:44:50 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:45:07 GMT]]></title><description><![CDATA[<p>Mentras schrieb:</p>
<blockquote>
<p>Jap, eine Möglichkeit wäre die Größe vorher zu bestimmen, aber jetzt kommen &quot;was ist wenn&quot;-Fragen, wenn der Benutzer 128 Zeichen eingibt...</p>
</blockquote>
<p>Du musst aber auch beachten, dass du auch mit deiner Methode eine feste Größe vergibts (nämlich bei &quot;Hallo&quot; 6 Zeichen inkl. abschließender Null). Nur, dass du dabei halt ein Literal (Konstante) erzeugst und dessen Adresse a zuweist!</p>
<p>Mentras schrieb:</p>
<blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /> Bin irgendwie durcheinander, dabei erschien mir die Sache so easy <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="😞"
    /></p>
</blockquote>
<p>Ist sie eigentlich auch. Einfach am Ball bleiben. <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="🙂"
    /> Es gibt auch gute Artikel hier auf <a href="http://c++.de" rel="nofollow">c++.de</a>. Lies dir da einfach mal ein paar Sachen durch (Pointer, Speicherverwaltung...).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741231</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:45:07 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 21:47:42 GMT]]></title><description><![CDATA[<p>err0r schrieb:</p>
<blockquote>
<p>Denn du übergibst einen Zeiger auf das Array, dessen Inhalt in der Funktion geändert wird. Darum muss nix zurückgegeben werden.</p>
</blockquote>
<p>Es sei denn, er will die Rückgabe gleich in Ausdrücken verarbeiten können. Dann könnte er schon den übergebenen Pointer noch mal zurückgeben. Obwohl ich das eigentlich nie so mache...</p>
<p>Alter Zeh schrieb:</p>
<blockquote>
<p>das war nicht gegen dich gerichtet, mehr gegen die leute, die propagieren man sollte lieber gar nicht erst den &quot;alten, unnötigen c mist&quot; lernen.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741233</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Sat, 11 Jul 2009 21:47:42 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 22:13:38 GMT]]></title><description><![CDATA[<p>Huch, ich hatte schon die Schnur um meinen Hals gebunden und noch zum Schluss etwas geändert und es hat geklappt...<br />
Folgende Fragen: (Siehe Kommentare)</p>
<pre><code class="language-cpp">void rot3_func(char* p)
{
    for(int i=0;p[i]!='\0';i++)
         p[i]+=3;
}

int main()
{
    char eingabe[1024] = {0};
    std::cout &lt;&lt; &quot;Geben Sie den Text ein:&quot; &lt;&lt; std::endl;
    std::cin &gt;&gt; eingabe;
    rot3_func(eingabe);          //Wieso darf ich nicht: rot3_func(&amp;eingabe); schreiben? Oo
    for(int i=0; eingabe[i]!='\0';i++)        //Kann ich es auch ohne For-Schleife ausgeben lassen?
        std::cout &lt;&lt; eingabe[i];
}
</code></pre>
<p>Danke nochmal für eure Hilfe! <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/1741252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741252</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 11 Jul 2009 22:13:38 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 22:19:47 GMT]]></title><description><![CDATA[<p>1. Weil der Name eines Arrays ohne Operator [] schon die Adresse (des ersten Elements) darstellt. Du würdest also die Adresse der Adresse übergeben (gibts auch, macht hier aber keinen Sinn).</p>
<p>2. Probier mal</p>
<pre><code class="language-cpp">std::cout &lt;&lt; eingabe;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1741255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741255</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Sat, 11 Jul 2009 22:19:47 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 22:20:56 GMT]]></title><description><![CDATA[<p>Ahhh, verstehe!</p>
<p>2. Ohh sieht doch gleich besser aus <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="😃"
    /> Danke!</p>
<p>Lg Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741258</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 11 Jul 2009 22:20:56 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 23:43:59 GMT]]></title><description><![CDATA[<p>Du kennst aber <code>std::string</code> ?</p>
<p>Ich verstehe schon, dass es dir hier eher ums Verständnis von Zeigern geht. Wenn du aber etwas erreichen willst (z.B. Verschlüsselung), solltest du moderne C++-Mittel verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741301</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 11 Jul 2009 23:43:59 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sat, 11 Jul 2009 23:52:03 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Du kennst aber <code>std::string</code> ?</p>
<p>Ich verstehe schon, dass es dir hier eher ums Verständnis von Zeigern geht. Wenn du aber etwas erreichen willst (z.B. Verschlüsselung), solltest du moderne C++-Mittel verwenden.</p>
</blockquote>
<p>Jap ich habe ja oben gesagt, dass ich es mal mit C-String versuchen will x)</p>
<p>String wäre ja kein Problem für mich gewesen.</p>
<p>Ich kann dir auch versichern, dass ich wenn ich mich in den Bereich der Kryptographie nisten will, meine Verschlüsselungen mit std::string verschlüssele x)</p>
<p>Lg Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741304</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 11 Jul 2009 23:52:03 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sun, 12 Jul 2009 07:20:21 GMT]]></title><description><![CDATA[<p>Mentras schrieb:</p>
<blockquote>
<pre><code class="language-cpp">char eingabe[1024] = {0};
  //...
  rot3_func(eingabe);  //Wieso [...] nicht: rot3_func(&amp;eingabe);
</code></pre>
</blockquote>
<p>eingabe ist ein array von char und die Funktion erwartet ein char*. C und C++ führen hier einen &quot;Array-zu-Zeiger-Verfall&quot; durch. Dabei wird ein Zeiger erzeugt, der auf das erste Element des Arrays zeigt. Von Hand durchgeführt müsste es dann so aussehen:</p>
<pre><code class="language-cpp">rot3_func(&amp;eingabe[0]);
</code></pre>
<p>Man achte auch auf die Präzedenz der Operatoren. Zunächst werden die Operatoren auf der rechten Seite von innen nach außen verarbeitet und dann die Operatoren auf der linken Seite von innen nach außen ==&gt; Zeiger auf das erste Element. Wenn Du den Addressoperator auf das Array loslässt, bekommst Du einen Zeiger auf ein Array und nicht einen Zeiger auf das erste Element:</p>
<pre><code class="language-cpp">char (*parray)[1024] = &amp;eingabe;
  // parray ist ein Zeiger auf ein Array von char
</code></pre>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741331</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Sun, 12 Jul 2009 07:20:21 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sun, 12 Jul 2009 11:31:24 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>Mentras schrieb:</p>
<blockquote>
<pre><code class="language-cpp">char eingabe[1024] = {0};
  //...
  rot3_func(eingabe);  //Wieso [...] nicht: rot3_func(&amp;eingabe);
</code></pre>
</blockquote>
<p>eingabe ist ein array von char und die Funktion erwartet ein char*. C und C++ führen hier einen &quot;Array-zu-Zeiger-Verfall&quot; durch. Dabei wird ein Zeiger erzeugt, der auf das erste Element des Arrays zeigt. Von Hand durchgeführt müsste es dann so aussehen:</p>
<pre><code class="language-cpp">rot3_func(&amp;eingabe[0]);
</code></pre>
<p>Gruß,<br />
SP</p>
</blockquote>
<p>Oh, nagut ich versuch´s mal wiederzugeben was ich verstanden habe...</p>
<p>Wenn ich den &amp;-Operator verwenden wollte hätte ich´s so machen müssen:</p>
<p>Beim Aufrufen:</p>
<pre><code class="language-cpp">for(int i=0;eingabe[i]!='\0';i++)
rot3_func(&amp;eingabe[i]);
</code></pre>
<p>Wäre natürlich jetzt etwas umständlicher, aber mir geht´s jetzt nur ums verstehen.</p>
<p>Lg Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741419</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sun, 12 Jul 2009 11:31:24 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sun, 12 Jul 2009 12:01:14 GMT]]></title><description><![CDATA[<p>Mentras schrieb:</p>
<blockquote>
<p>Wenn ich den &amp;-Operator verwenden wollte hätte ich´s so machen müssen:</p>
<pre><code class="language-cpp">for(int i=0;eingabe[i]!='\0';i++)
rot3_func(&amp;eingabe[i]);
</code></pre>
</blockquote>
<p>Nein. Einfach</p>
<pre><code class="language-cpp">rot3_func(&amp;eingabe[0]);
</code></pre>
<p>Hier ist ein anderes Beispiel</p>
<pre><code class="language-cpp">char array[999];
char* p1 = array;     // &quot;array-to-pointer decay&quot; (automatisch)
char* p2 = &amp;array[0]; // manuell
</code></pre>
<p>p1 und p2 zeigen jeweils auf das erste Element des Arrays.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741438</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Sun, 12 Jul 2009 12:01:14 GMT</pubDate></item><item><title><![CDATA[Reply to The Pointer is pointing on you... on Sun, 12 Jul 2009 12:18:45 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>Mentras schrieb:</p>
<blockquote>
<p>Wenn ich den &amp;-Operator verwenden wollte hätte ich´s so machen müssen:</p>
<pre><code class="language-cpp">for(int i=0;eingabe[i]!='\0';i++)
rot3_func(&amp;eingabe[i]);
</code></pre>
</blockquote>
<p>Nein. Einfach</p>
<pre><code class="language-cpp">rot3_func(&amp;eingabe[0]);
</code></pre>
<p>Hier ist ein anderes Beispiel</p>
<pre><code class="language-cpp">char array[999];
char* p1 = array;     // &quot;array-to-pointer decay&quot; (automatisch)
char* p2 = &amp;array[0]; // manuell
</code></pre>
<p>p1 und p2 zeigen jeweils auf das erste Element des Arrays.</p>
<p>Gruß,<br />
SP</p>
</blockquote>
<p>Und der Zeiger ändert dann alle Elemente in der Funktion?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741451</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sun, 12 Jul 2009 12:18:45 GMT</pubDate></item></channel></rss>