<?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[Problem mit char* im return]]></title><description><![CDATA[<p>Hi hab ein kleines Problem, bei dem ich einfach nicht die Lösung finde:</p>
<pre><code class="language-cpp">char Get();

int main()
{
    char* c2;

    *c2 = Get();
    cout &lt;&lt; *c2;

    return 0;
}

char Get() {
    char *a = &quot;Hihi&quot;;
    return *a;
}
</code></pre>
<p>Ich möchte einfach ein char oder char*(weiß net was besser ist) aus der Funktion zurückgeben und dann in main in einem char* speichern.<br />
Was ich jetzt noch brauche ist, dass nicht nur ein &quot;H&quot; ausgegeben wird.</p>
<p>Hoffe jemand kann mir helfen.</p>
<p>Dankeschön im Voraus PhiLLe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215672/problem-mit-char-im-return</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 00:10:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215672.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Jun 2008 19:57:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit char* im return on Fri, 13 Jun 2008 19:57:24 GMT]]></title><description><![CDATA[<p>Hi hab ein kleines Problem, bei dem ich einfach nicht die Lösung finde:</p>
<pre><code class="language-cpp">char Get();

int main()
{
    char* c2;

    *c2 = Get();
    cout &lt;&lt; *c2;

    return 0;
}

char Get() {
    char *a = &quot;Hihi&quot;;
    return *a;
}
</code></pre>
<p>Ich möchte einfach ein char oder char*(weiß net was besser ist) aus der Funktion zurückgeben und dann in main in einem char* speichern.<br />
Was ich jetzt noch brauche ist, dass nicht nur ein &quot;H&quot; ausgegeben wird.</p>
<p>Hoffe jemand kann mir helfen.</p>
<p>Dankeschön im Voraus PhiLLe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528640</guid><dc:creator><![CDATA[Phille]]></dc:creator><pubDate>Fri, 13 Jun 2008 19:57:24 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Fri, 13 Jun 2008 20:02:46 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;string&gt;
using namespace std;

char Get();

int main()
{
    string c2;
    c2 = Get();
    cout &lt;&lt; c2 &lt;&lt; endl;
    return 0;
}

string Get() {
    string a = &quot;Hihi&quot;;
    return a;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1528644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528644</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Fri, 13 Jun 2008 20:02:46 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Fri, 13 Jun 2008 20:22:09 GMT]]></title><description><![CDATA[<p>Ja, Danke!</p>
<p>Aber ich brauche in der main() char* um den text in eine andere Funktion zu übergeben.</p>
<p>PhiLLe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528660</guid><dc:creator><![CDATA[PhiLLe]]></dc:creator><pubDate>Fri, 13 Jun 2008 20:22:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Fri, 13 Jun 2008 20:22:15 GMT]]></title><description><![CDATA[<p>oder wenn du es ohne der String-Klasse machen möchtest:</p>
<pre><code>char* Get();

int main()
{
    char* c2;

    c2 = Get();
    cout &lt;&lt; c2;

    return 0;
}

char* Get() {
    char *a = &quot;Hihi&quot;;
    return a;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1528661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528661</guid><dc:creator><![CDATA[the*V*oid]]></dc:creator><pubDate>Fri, 13 Jun 2008 20:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Fri, 13 Jun 2008 20:34:34 GMT]]></title><description><![CDATA[<p>Vielen dank euch beiden!</p>
<p>Mit den Pointern hab ich nochs so...</p>
<p>MfG PhiLLe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528670</guid><dc:creator><![CDATA[Phille]]></dc:creator><pubDate>Fri, 13 Jun 2008 20:34:34 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Fri, 13 Jun 2008 20:42:44 GMT]]></title><description><![CDATA[<p>PhiLLe schrieb:</p>
<blockquote>
<p>Ja, Danke!</p>
<p>Aber ich brauche in der main() char* um den text in eine andere Funktion zu übergeben.</p>
<p>PhiLLe</p>
</blockquote>
<p>wozu gibt es bitte schön die Methothe c_str im std::string?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528676</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 13 Jun 2008 20:42:44 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Fri, 13 Jun 2008 21:05:36 GMT]]></title><description><![CDATA[<p>Ich arbeite eben lieber mit char(ändert sich vielleicht hiernach)</p>
<p>Es hat zwar geklappt jetzt den char* aus der Funktion zu bekommen, aber ich hab jetzt noch ein Problem...<br />
Ich hab nämlich einen Integer der immer erst in den char* in der Get() funktion umgewandelt wird. Da liegt wahrscheinlich der Fehler, weil ich erst</p>
<p>char = int</p>
<p>und dann</p>
<p>char* = char</p>
<p>mache.</p>
<p>Bitte schaut es euch an und sagt mir was ich falsch mache.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

char* Get();
void Draw(char* c); //Simuliert andere Funktion(eigendlich egal)

int main()
{
    char* c2;

    c2 = Get();
    cout &lt;&lt; c2 &lt;&lt; endl; // = Irgendwas
    Draw(c2);

    return 0;
}

char* Get() {
    int i = 20; //Simuliert ein Integer, der ständig wechselt
    char b[20];
    char *a;
    itoa(i , b, 10);
    cout &lt;&lt; b &lt;&lt; endl; // = 20
    a = const_cast&lt;char*&gt;(b); //Ich convertiere erst zu char und dann zu char*(weil ich es nicht besser weiß)
    cout &lt;&lt; a &lt;&lt; endl; // = 20
    return a;
}

void Draw(char* c) {
    cout &lt;&lt; c &lt;&lt; endl; // = Irgendwas
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1528692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528692</guid><dc:creator><![CDATA[Phille]]></dc:creator><pubDate>Fri, 13 Jun 2008 21:05:36 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Fri, 13 Jun 2008 22:23:27 GMT]]></title><description><![CDATA[<p>Phille schrieb:</p>
<blockquote>
<p>Ich arbeite eben lieber mit char(ändert sich vielleicht hiernach)...</p>
</blockquote>
<p>JETZT ist der Zeitpunkt, das zu ändern. Du hattest schon mit Deinem aktuellen Problem mehr Zeit vertändelt, als Dich die Einarbeitung in und die Lösung mit string gekostet hätte. Ich weiß, es kostet immer Überwindung, den bekannten Weg zu verlassen, aber hier lohnt es sich wirklich.</p>
<p>Sagen wir mal so: Dein komplettes Programm entfällt eigentlich, wenn Du die StdLib-Hilfsmittel einsetzt.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;

using namespace std;

int getVal(); // warum nicht gleich den int zurückgeben ?
void draw(string const&amp; s); //Simuliert andere Funktion(eigendlich egal)

int main()
{
   ostringstream ostr;
   ostr &lt;&lt; getVal(); // ostr kann man noch auf Fehler abfragen, der hier aber nicht auftreten kann
   cout &lt;&lt; ostr.str() &lt;&lt; endl;
   Draw(ostr.str());

   return 0;
}

int Get() {
    return 20; //...
}

void Draw(string const&amp; str) {
    cout &lt;&lt; str &lt;&lt; endl; // = Irgendwas
}
</code></pre>
<p>Merke: Kein cast (der sowieso &quot;falsch&quot; wär), kein itoa() (sowieso non-Standard), keine Bufferoverflow-Gefahr, keine Gefahr eines Konvertierungsproblems, ....</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528713</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 13 Jun 2008 22:23:27 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Sat, 14 Jun 2008 09:34:57 GMT]]></title><description><![CDATA[<p>Danke! Das hilft mir schonmal.<br />
Ich hab nur noch das Problem, das ich die draw Funktion nicht ändern kann, weil sie ein fester Bestandteil von einer libary ist(also ein Befehl).</p>
<p>Wie kann ich das machen das ich den ostringstream als char* benutzen kann?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528820</guid><dc:creator><![CDATA[Phille]]></dc:creator><pubDate>Sat, 14 Jun 2008 09:34:57 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Sat, 14 Jun 2008 09:57:55 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">ostr.str().c_str()
</code></pre>
<p>liefert den char* im string im ostringstream <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/1528828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528828</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 14 Jun 2008 09:57:55 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Sat, 14 Jun 2008 10:01:05 GMT]]></title><description><![CDATA[<p>Phille schrieb:</p>
<blockquote>
<p>...<br />
Wie kann ich das machen das ich den ostringstream als char* benutzen kann?</p>
<p>Gruß</p>
</blockquote>
<p>Vielleicht ist di aufgefallen, dass ich Draw gar keinen ostrngstream übergeben sondern einen string. Dafür hat ostringstream die Funtion str().<br />
Genauso hat string die Funktion c_str(), um einen char const * zu bekommen (und mehr als einen &quot;const&quot; sollte ein Funktion namens &quot;Draw()&quot; auch nicht brauchen).</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528831</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sat, 14 Jun 2008 10:01:05 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Sat, 14 Jun 2008 10:11:05 GMT]]></title><description><![CDATA[<p>Oh man...<br />
Ist zwar char* aber const.<br />
Sh*t!</p>
<p>Const nimmt er nicht.</p>
<p>Gibt es eine möglichkeit das wegzubekommen?</p>
<p>Phille</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528837</guid><dc:creator><![CDATA[PhiLLe]]></dc:creator><pubDate>Sat, 14 Jun 2008 10:11:05 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Sat, 14 Jun 2008 10:28:27 GMT]]></title><description><![CDATA[<p>Ups google gibts ja auch noch!<br />
Habs gefunden:</p>
<pre><code class="language-cpp">char* str = new char[50];
memcpy(str, ostr.str().c_str(), 50);
</code></pre>
<p>Danke an alle für die Hilfe!</p>
<p>PhiLLe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528845</guid><dc:creator><![CDATA[PhiLLe]]></dc:creator><pubDate>Sat, 14 Jun 2008 10:28:27 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Sat, 14 Jun 2008 10:45:13 GMT]]></title><description><![CDATA[<p>nur dass du statt der hardcodierten 50 schon die Länge des strings im ostringstream nehmen solltest, sonst gibts wieder bufferproblemchen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528855</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 14 Jun 2008 10:45:13 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Sat, 14 Jun 2008 22:00:15 GMT]]></title><description><![CDATA[<p>PhiLLe schrieb:</p>
<blockquote>
<p>Oh man...<br />
Ist zwar char* aber const.<br />
Sh*t!...</p>
</blockquote>
<p>Auftrag an Dich: 6-12 Schläge mit der Rute an den Programmierer von Draw() austeilen.<br />
Die ersten 2/3 Hälfte für das fehlende const und das letzte für char* statt string.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529283</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sat, 14 Jun 2008 22:00:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Sun, 15 Jun 2008 01:16:24 GMT]]></title><description><![CDATA[<p>PhiLLe schrieb:</p>
<blockquote>
<p>Ups google gibts ja auch noch!<br />
Habs gefunden:</p>
<pre><code class="language-cpp">char* str = new char[50];
memcpy(str, ostr.str().c_str(), 50);
</code></pre>
<p>Danke an alle für die Hilfe!</p>
<p>PhiLLe</p>
</blockquote>
<p>hier wäre noch zu erwähnen, dass es hässlich ist, sich selbst um die dynamische speicherverwaltung zu kümmern weil immer viel zu viel schiefgeht und du am ende nur memory leaks hast. verwende <code>std::vector</code> (im kommenden standard gibt es eventuell <code>std::dynarray</code> , das für diesem fall besser geeignet wäre):</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
//...

vector&lt;char&gt; str(your_string.begin(), your_string.end()); //no new, no delete
Draw (&amp;str[0]);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1529319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529319</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Sun, 15 Jun 2008 01:16:24 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Sun, 15 Jun 2008 04:30:37 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>PhiLLe schrieb:</p>
<blockquote>
<p>Oh man...<br />
Ist zwar char* aber const.<br />
Sh*t!...</p>
</blockquote>
<p>Auftrag an Dich: 6-12 Schläge mit der Rute an den Programmierer von Draw() austeilen.<br />
Die ersten 2/3 Hälfte für das fehlende const und das letzte für char* statt string.</p>
</blockquote>
<p>Und 5/3 weil Draw nicht Unicode fähig ist, ach das wäre sie ja mit std::string auch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529323</guid><dc:creator><![CDATA[unicoder]]></dc:creator><pubDate>Sun, 15 Jun 2008 04:30:37 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char* im return on Mon, 16 Jun 2008 06:27:47 GMT]]></title><description><![CDATA[<p>unicoder schrieb:</p>
<blockquote>
<p>...Und 5/3 weil Draw nicht Unicode fähig ist, ach das wäre sie ja mit std::string auch nicht.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /><br />
Nochmal je 5, weil string nicht multithreadfähig, C++ nicht javafähig und Selbstprogrammieren sowieso nicht DAU-sicher ist.....</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529721</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 16 Jun 2008 06:27:47 GMT</pubDate></item></channel></rss>