<?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[cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27;]]></title><description><![CDATA[<p>hallo an alle.</p>
<p>kann sich mal bitte jemand folgenden code anschauen:</p>
<pre><code>char *buf;
		stringstream text;

		text &lt;&lt; &quot;Which&quot;;
		buf = text.str().c_str();
</code></pre>
<p>warum erscheint da immer die fehlermeldung aus dem titel des beitrags?</p>
<p>DANKE.<br />
H.W.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/163833/cannot-convert-from-const-char-to-char</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 11:43:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/163833.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Nov 2006 10:10:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 10:10:31 GMT]]></title><description><![CDATA[<p>hallo an alle.</p>
<p>kann sich mal bitte jemand folgenden code anschauen:</p>
<pre><code>char *buf;
		stringstream text;

		text &lt;&lt; &quot;Which&quot;;
		buf = text.str().c_str();
</code></pre>
<p>warum erscheint da immer die fehlermeldung aus dem titel des beitrags?</p>
<p>DANKE.<br />
H.W.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166799</guid><dc:creator><![CDATA[Hans Wurst]]></dc:creator><pubDate>Thu, 02 Nov 2006 10:10:31 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 10:13:33 GMT]]></title><description><![CDATA[<p>Weil std:;string::c_string() ein const char* zurueck gibt, ganz einfach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166802</guid><dc:creator><![CDATA[Thomas ** 0]]></dc:creator><pubDate>Thu, 02 Nov 2006 10:13:33 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 10:16:04 GMT]]></title><description><![CDATA[<p>also haste mindestens zwei möglichkeiten:<br />
1. char *buf; --&gt; const char *buf;<br />
2. buf = text.str().c_str(); --&gt; buf = (char*)text.str().c_str();</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166807</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 02 Nov 2006 10:16:04 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 10:17:19 GMT]]></title><description><![CDATA[<p>Wenn schon dann verwende const_cast&lt;&gt;, dann sieht jeder was fuer boese Dinge du da machst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166809</guid><dc:creator><![CDATA[Thomas ** 0]]></dc:creator><pubDate>Thu, 02 Nov 2006 10:17:19 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 10:24:35 GMT]]></title><description><![CDATA[<p>net schrieb:</p>
<blockquote>
<p>also haste mindestens zwei möglichkeiten:</p>
</blockquote>
<p>3.:</p>
<pre><code class="language-cpp">char* buf=new char[text.str().length+1];
text.str().copy(buf,text.str().length());
</code></pre>
<p>Aber was genau hast du mit dem Gebastel eigentlich vor? Für die meisten Anwendungen ist es einfacher, mit std::string direkt zu arbeiten als mit char*.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166813</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Nov 2006 10:24:35 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 10:26:35 GMT]]></title><description><![CDATA[<p>Thomas (: schrieb:</p>
<blockquote>
<p>Wenn schon dann verwende const_cast&lt;&gt;...</p>
</blockquote>
<p>noch eine. deshalb schrieb ich auch *mindestens* zwei... :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166816</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 02 Nov 2006 10:26:35 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 10:32:12 GMT]]></title><description><![CDATA[<p>ich habe vor, nach dem gebastel das ergebnis als 'const char *' an eine vordefinierte funktion zu übergeben, die leider eben nur 'const char *' annimmt.</p>
<p>danke für die hinweise!<br />
H.W.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166822</guid><dc:creator><![CDATA[*Hans Wurst]]></dc:creator><pubDate>Thu, 02 Nov 2006 10:32:12 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 10:37:54 GMT]]></title><description><![CDATA[<p>*Hans Wurst schrieb:</p>
<blockquote>
<p>ich habe vor, nach dem gebastel das ergebnis als 'const char *' an eine vordefinierte funktion zu übergeben, die leider eben nur 'const char *' annimmt.</p>
</blockquote>
<p>Wenn die Funktion sowieso const char*'s nimmt, wozu verwendest du dann einen (nicht-const) char*?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166826</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Nov 2006 10:37:54 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 12:29:08 GMT]]></title><description><![CDATA[<p>an CStoll:</p>
<p>ja, gute frage. ich habe darum gleich nochmals überprüft, was für ein typ die funktion (static_value) nun haben will und bin mir da jetzt gar nicht mehr sicher. hier ist erstmal der code. was mich verwundert ist die tatsache, dass die funktion sowohl mit name (const char <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title="*)"
      alt="😉"
    /> als auch mit buf (char <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title="*)"
      alt="😉"
    /> funktioniert. wie kann ich das verstehen?</p>
<pre><code>public:
	cInWin (int w, int h, const char *name = 0) : Fl_Window (w,h,name)
	{
		char *buf = &quot;TEST&quot;;
		Fl_Input *o = new Fl_Input(10,10,w-20,h-70);
		o-&gt;static_value(name);
		o-&gt;static_value(buf);
		show();
	}
</code></pre>
<p>vielen dank.<br />
H.W.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166913</guid><dc:creator><![CDATA[Hans Wurst]]></dc:creator><pubDate>Thu, 02 Nov 2006 12:29:08 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 12:34:07 GMT]]></title><description><![CDATA[<p>Dann gubk dir mal an, was in der Deklaration der Funktion steht (ich tippe auf const char*).</p>
<p>Allgemein: Die Verwendung eines char* als const char* macht keine Probleme, schwierig wird es nur in der anderen Richtung (das Ergebnis hast du ja gesehen). Schließlich bedeutet nicht-const &quot;ich darf den Wert ändern&quot; und const &quot;ich darf den Wert NICHT ändern&quot; - und wenn ich einen variablen Wert erhalte und ihn nicht ändern will, ist das kein Problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166915</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Nov 2006 12:34:07 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 12:35:22 GMT]]></title><description><![CDATA[<p>Dann wird die Funktion wohl ein 'const char *' als Parameter haben, denn du kannst dann auch einen (nicht konstanten) char-Zeiger übergeben, nur in die andere Richtung ginge es nicht, d.h. einer Funktion, die 'char *' verlangt, der kannst du kein 'const char *' übergeben, da die Funktion ja die Inhalte des Strings verändern könnte.</p>
<p>(Leider sind viele alte APIs noch mit einfachen 'char *' deklariert, obwohl die entsprechenden Funktionen den Inhalt des übergebenen Strings nicht ändern).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166916</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Thu, 02 Nov 2006 12:35:22 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 12:49:38 GMT]]></title><description><![CDATA[<p>okay.</p>
<p>dann ist es ein const char*. aber warum zeigt mir nun folgender code nicht das richtige ergebnis an? (es wird nämlich gar nichts angezeigt)</p>
<pre><code>const char *buf;
		stringstream text;
		text &lt;&lt; &quot;test&quot;;
		buf = text.str().c_str();
		Fl_Input *o = new Fl_Input(10,10,w-20,h-70);
		o-&gt;static_value(buf);
</code></pre>
<p>vielen dank!<br />
H.W.</p>
<p>P.S.: ein beschreibung zu funktion gibts hier:<br />
<a href="http://embedded.centurysoftware.com/docs/nx/fltk-flinput.html#FLTK.FLINPUT.STATICVALUE" rel="nofollow">http://embedded.centurysoftware.com/docs/nx/fltk-flinput.html#FLTK.FLINPUT.STATICVALUE</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166932</guid><dc:creator><![CDATA[Hans Wurst]]></dc:creator><pubDate>Thu, 02 Nov 2006 12:49:38 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 12:55:45 GMT]]></title><description><![CDATA[<p>Möglicherweise bist du ja hierüber gestolpert:</p>
<blockquote>
<p>The string is not copied. [...] but this will only work if the passed string remains unchanged until either the Fl_Input is destroyed or value() is called again.</p>
</blockquote>
<p>(am Ende deiner Funktion wird text freigegeben und seine Daten wieder gelöscht)</p>
<p>Als Lösung könntest du stattdessen das &quot;normale&quot; value() verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166936</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Nov 2006 12:55:45 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 13:01:59 GMT]]></title><description><![CDATA[<p>ich bin's schon wieder, denn</p>
<pre><code class="language-cpp">o-&gt;value(buf);
</code></pre>
<p>funktioniert auch nicht. das feld bleibt leer.</p>
<p>H.W.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166945</guid><dc:creator><![CDATA[Hans Wurst]]></dc:creator><pubDate>Thu, 02 Nov 2006 13:01:59 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 13:07:14 GMT]]></title><description><![CDATA[<p>Nimm dir mal einen Debugger und schau dir an, was auf dem Weg eigentlich passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166949</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Nov 2006 13:07:14 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 13:14:45 GMT]]></title><description><![CDATA[<p>ich habe deinen ratschlage gleichmal umgesetzt</p>
<pre><code class="language-cpp">const char *buf;
		stringstream text;
		text &lt;&lt; &quot;test&quot;;
		buf = text.str().c_str();
</code></pre>
<p>am ende dieses schrittes, also nach der letzten zeile, ist buf immer noch leer. liegt das an der 'const' definition?</p>
<p>DANKE!<br />
H.W.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166958</guid><dc:creator><![CDATA[Hans Wurst]]></dc:creator><pubDate>Thu, 02 Nov 2006 13:14:45 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 13:18:01 GMT]]></title><description><![CDATA[<p>Nein, eigentlich nicht - das &quot;const&quot; bedeutet nur, daß du über den Zeiger nicht deine String-Daten ändern darfst.</p>
<p>Hmm, hast du mal versucht, text.str().c_str() direkt weiterzuverarbeiten?</p>
<p>PS: Was ist eigentlich der Sinn darin, den Text &quot;test&quot; erstmal durch einen Stringstream zu jagen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166962</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Nov 2006 13:18:01 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 13:25:21 GMT]]></title><description><![CDATA[<p>mit der weiterverarbeitung von text.str().c_str() klappt es. ich hatte dies vorher mit o-&gt;static_value() erfolglos versucht.</p>
<p>den stringstream brauche ich, um mir vorher zusammenbasteln, was ich dann an die funktion übergebe.</p>
<p>vielen dank für die schnelle hilfe!!!<br />
H.W.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166972</guid><dc:creator><![CDATA[Hans Wurst]]></dc:creator><pubDate>Thu, 02 Nov 2006 13:25:21 GMT</pubDate></item><item><title><![CDATA[Reply to cannot convert from &#x27;const char *&#x27; to &#x27;char *&#x27; on Thu, 02 Nov 2006 13:37:18 GMT]]></title><description><![CDATA[<p>Hans Wurst schrieb:</p>
<blockquote>
<p>mit der weiterverarbeitung von text.str().c_str() klappt es. ich hatte dies vorher mit o-&gt;static_value() erfolglos versucht.</p>
</blockquote>
<p>Na dann solltest du buf ganz entsorgen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>So langsam wird mir auch klar, wo dein Fehler lag: stringstream::str() liefert eine Kopie der internen Daten. Das heißt, du hast dort eine temporäre Variable, die am Ende ihrer Anweisung wieder ins Nirvana geschickt wird. Als Lösung bleibt dir demzufolge nur, die Variable direkt weiterzugeben (nicht an static_value() - da löschst du dir auch die Daten unter dem hintern weg) oder in einen eigenen std::string zu kopieren.</p>
<blockquote>
<p>den stringstream brauche ich, um mir vorher zusammenbasteln, was ich dann an die funktion übergebe.</p>
</blockquote>
<p>OK, das ist ein Argument.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166985</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Nov 2006 13:37:18 GMT</pubDate></item></channel></rss>