<?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[Wie string nach &#x27;const char*&#x27; umwandeln?]]></title><description><![CDATA[<p>Ich habe in meiner main() eine Variable vom Typ string,</p>
<pre><code class="language-cpp">int main() {
    string hostname;
    .
    .
    return 0;
}
</code></pre>
<p>welche ich per Referenz an eine Funktion uebergebe und ihr dort einen entsprechenden Wert zuweise.</p>
<p>Leider aber brauche ich nun zur Weitergabe an eine Funktion aus der MySQL API den gleichen Wert, allerdings dort vom Typ 'const char*.</p>
<p>Wie wandle ich diese Variable am elegantesten um? Im Augenblick habe ich es so geloest, habe aber starke Zweifel, ob das denn so die eleganteste Loesung ist:</p>
<pre><code class="language-cpp">string hostname;
    .
    .
    char HOST[30] = { &quot;&quot; };

    hostname.copy( HOST, 24 );
</code></pre>
<p>Auch wenn's damit immerhin schon mal funktioniert ... <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>
<p>Gruss</p>
<p>Guenther</p>
<p>Edit: Sorry, ich hatte urspruenglich nur 'char' geschrieben, aber es sollte bzw. musste natuerlich 'const char*' heissen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/194618/wie-string-nach-const-char-umwandeln</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 14:54:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/194618.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Oct 2007 07:04:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie string nach &#x27;const char*&#x27; umwandeln? on Tue, 09 Oct 2007 07:21:53 GMT]]></title><description><![CDATA[<p>Ich habe in meiner main() eine Variable vom Typ string,</p>
<pre><code class="language-cpp">int main() {
    string hostname;
    .
    .
    return 0;
}
</code></pre>
<p>welche ich per Referenz an eine Funktion uebergebe und ihr dort einen entsprechenden Wert zuweise.</p>
<p>Leider aber brauche ich nun zur Weitergabe an eine Funktion aus der MySQL API den gleichen Wert, allerdings dort vom Typ 'const char*.</p>
<p>Wie wandle ich diese Variable am elegantesten um? Im Augenblick habe ich es so geloest, habe aber starke Zweifel, ob das denn so die eleganteste Loesung ist:</p>
<pre><code class="language-cpp">string hostname;
    .
    .
    char HOST[30] = { &quot;&quot; };

    hostname.copy( HOST, 24 );
</code></pre>
<p>Auch wenn's damit immerhin schon mal funktioniert ... <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>
<p>Gruss</p>
<p>Guenther</p>
<p>Edit: Sorry, ich hatte urspruenglich nur 'char' geschrieben, aber es sollte bzw. musste natuerlich 'const char*' heissen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380972</guid><dc:creator><![CDATA[gboelter]]></dc:creator><pubDate>Tue, 09 Oct 2007 07:21:53 GMT</pubDate></item><item><title><![CDATA[Reply to Wie string nach &#x27;const char*&#x27; umwandeln? on Tue, 09 Oct 2007 07:08:41 GMT]]></title><description><![CDATA[<p>wenn du den wert nicht aenderst kannst du<br />
std::string::c_str verwenden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380974</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Tue, 09 Oct 2007 07:08:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wie string nach &#x27;const char*&#x27; umwandeln? on Tue, 09 Oct 2007 07:10:00 GMT]]></title><description><![CDATA[<p>Erstens: Bist du sicher, daß die API einen 'char' (ein einzelnes Zeichen) benötigt? Oder nicht doch eher einen 'char*'/'const char*' (Zeiger auf ein Zeichen(array) = C-String)?</p>
<p>Zweitens: Wenn du einen 'const char*' benötigst, nimm doch einfach <code>hostname.c_str()</code> , wenn sie wirklich einen nicht-konstanten 'char*' braucht, ist copy() der sicherste Weg (manchmal reicht auch const_cast&lt;&gt; aus, aber da solltest du sicher sein, daß das 'const' nur aus Versehen/Unwissenheit vergessen wurde).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380975</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 09 Oct 2007 07:10:00 GMT</pubDate></item><item><title><![CDATA[Reply to Wie string nach &#x27;const char*&#x27; umwandeln? on Tue, 09 Oct 2007 07:18:28 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Erstens: Bist du sicher, daß die API einen 'char' (ein einzelnes Zeichen) benötigt? Oder nicht doch eher einen 'char*'/'const char*' (Zeiger auf ein Zeichen(array) = C-String)?</p>
</blockquote>
<p>Sorry, mein Fehler. Es muss natuerlich 'const char*' heissen, werd's gleich oben mal aendern.</p>
<blockquote>
<p>Zweitens: Wenn du einen 'const char*' benötigst, nimm doch einfach hostname.c_str()</p>
</blockquote>
<p>Mist, davon hattest Du mir schon mal erzaehlt, hatte ich aber leider inzwischen wieder vergessen und seinerzeit auch vergessen den Hinweis in meine persoenliche FAQ aufzunehmen.</p>
<p>Schande ueber mein Haupt ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Aber ok, dann kann's ja weitergehen mit dem C++ lernen ... <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/1380980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380980</guid><dc:creator><![CDATA[gboelter]]></dc:creator><pubDate>Tue, 09 Oct 2007 07:18:28 GMT</pubDate></item><item><title><![CDATA[Reply to Wie string nach &#x27;const char*&#x27; umwandeln? on Tue, 09 Oct 2007 07:38:36 GMT]]></title><description><![CDATA[<p>Ok, habe das mit dem 'hostname.c_str()' umgesetzt und es klappt - wie nicht anders zu erwarten - hervorragend.</p>
<p>Dafuer wieder mal ein grosses D A N K E S C H O E N an Carsten und natuerlich auch an Mr Evil ... <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>
<p>Guenther</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380985</guid><dc:creator><![CDATA[gboelter]]></dc:creator><pubDate>Tue, 09 Oct 2007 07:38:36 GMT</pubDate></item></channel></rss>