<?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[string zu char* konvertieren]]></title><description><![CDATA[<p>Hallo,<br />
wie die Überschrift sagt, weiß ich nicht, wie ich aus einem string ein char-Array mache...<br />
mfG,<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/135356/string-zu-char-konvertieren</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 22:11:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/135356.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Feb 2006 15:09:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to string zu char* konvertieren on Wed, 01 Feb 2006 15:09:24 GMT]]></title><description><![CDATA[<p>Hallo,<br />
wie die Überschrift sagt, weiß ich nicht, wie ich aus einem string ein char-Array mache...<br />
mfG,<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983135</guid><dc:creator><![CDATA[MatthiasK]]></dc:creator><pubDate>Wed, 01 Feb 2006 15:09:24 GMT</pubDate></item><item><title><![CDATA[Reply to string zu char* konvertieren on Wed, 01 Feb 2006 15:16:16 GMT]]></title><description><![CDATA[<p>Wenn dir ein const char* reicht, kannst du dafür die Methode string::c_str() verwenden. Wenn es echt ein veränderbarer char* sein MUSS, könntest du mit &amp;s[0] die Adresse des ersten Zeichens herausbekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983139</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 01 Feb 2006 15:16:16 GMT</pubDate></item><item><title><![CDATA[Reply to string zu char* konvertieren on Wed, 01 Feb 2006 15:33:41 GMT]]></title><description><![CDATA[<p>Einen veränderbaren char* auf einen std::string solltest Du nie verwenden und ist aus guten Grund nur schwierig zu bekommen. Man kann mit const_cast hantieren, aber das sollte man tunlichst vermeiden. std::string ist in der Regel referenzgezählt, d.h. der Speicherbereich, auf den der Pointer, den ich mit std::string::c_str() oder std::string::data() bekomme, zeigt auf einen Speicher, der möglicherweise von anderen Instanzen von std::string auch verwendet wird.</p>
<p>Versuch doch mal:</p>
<pre><code class="language-cpp">std::string s1 = &quot;uhu&quot;;
std::string s2 = s1;
std::cout &lt;&lt; s1.data() &lt;&lt; ' ' &lt;&lt; s2.data() &lt;&lt; std::endl;
</code></pre>
<p>Wahrscheinlich bekommst Du 2 mal den gleichen Wert. Wahrscheinlich daher, weil es nicht im Standard spezifiziert ist, sondern Implementierungsabhängig.</p>
<p>Anders verhält es sich mit vector. Benötigt man einen char* (ohne const) kann man ein std::vector&lt;char&gt; verwenden und einen Zeiger auf das 1. Zeichen holen:</p>
<pre><code class="language-cpp">std::vector&lt;char&gt; v(64);
char* buffer = &amp;v[0];  // das ist erlaubt
</code></pre>
<p>Leider gibt es (noch) kein std::vector&lt;T&gt;::data(), daher die etwas unschöne Syntax.</p>
<p>Tommi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983162</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Wed, 01 Feb 2006 15:33:41 GMT</pubDate></item><item><title><![CDATA[Reply to string zu char* konvertieren on Wed, 01 Feb 2006 15:35:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">string blub(...);
char* array = new char[blub.size() + 1];
copy(blub.begin(), blub.end(), array);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/983166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983166</guid><dc:creator><![CDATA[Profi!]]></dc:creator><pubDate>Wed, 01 Feb 2006 15:35:35 GMT</pubDate></item></channel></rss>