<?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[c++ std::string zu char[] Problem?]]></title><description><![CDATA[<p>Och möchte über colocodes farbige nachrichten verschichen können, das ist der code</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;windows.h&gt;
#include &lt;string&gt;

HANDLE han = GetStdHandle(STD_OUTPUT_HANDLE);

using namespace std;

void sayconsole(std::string message)//das problem ist ich schaffe es nicht den      
                                    //string &quot;message&quot; in text rein zu schtecken
{
    char text[100];
    strncpy(text, message.c_str(), sizeof(message));
    unsigned color;

    for(int i = 0;i &lt; sizeof(text)/sizeof(char); i++)
    {
        if(text[i] == '&amp;') //wen ein colorcode gefunden würde
        {
            char buffer[] = { text[i+1], 0 }; // null-terminierten Hex-String basteln
            color = strtol(buffer, 0, 16); // strtol aufrufen um den Hex-Wert in diesem String zu parsen

            SetConsoleTextAttribute(han, color);
            i++;
        }else
        {
            std::cout  &lt;&lt; text[i];
        }
    }
    SetConsoleTextAttribute(han, 0x0f);
    std::cout &lt;&lt; std::endl;
}

int main()
{
    std::string msg;
    sayconsole(&quot;Hallooo&amp;bBlau&quot;);
    system(&quot;PAUSE&quot;);

    return 0;

}
</code></pre>
<p>Ich ich es kompiliere zeigt die console nur irgendwelche buchtaben die ich noch nie gesehen hab. Hat jemand eine lösung ?<br />
SRy wegen der rechtschreibung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/338561/c-std-string-zu-char-problem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 10:15:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/338561.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Jun 2016 16:43:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to c++ std::string zu char[] Problem? on Thu, 23 Jun 2016 16:43:51 GMT]]></title><description><![CDATA[<p>Och möchte über colocodes farbige nachrichten verschichen können, das ist der code</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;windows.h&gt;
#include &lt;string&gt;

HANDLE han = GetStdHandle(STD_OUTPUT_HANDLE);

using namespace std;

void sayconsole(std::string message)//das problem ist ich schaffe es nicht den      
                                    //string &quot;message&quot; in text rein zu schtecken
{
    char text[100];
    strncpy(text, message.c_str(), sizeof(message));
    unsigned color;

    for(int i = 0;i &lt; sizeof(text)/sizeof(char); i++)
    {
        if(text[i] == '&amp;') //wen ein colorcode gefunden würde
        {
            char buffer[] = { text[i+1], 0 }; // null-terminierten Hex-String basteln
            color = strtol(buffer, 0, 16); // strtol aufrufen um den Hex-Wert in diesem String zu parsen

            SetConsoleTextAttribute(han, color);
            i++;
        }else
        {
            std::cout  &lt;&lt; text[i];
        }
    }
    SetConsoleTextAttribute(han, 0x0f);
    std::cout &lt;&lt; std::endl;
}

int main()
{
    std::string msg;
    sayconsole(&quot;Hallooo&amp;bBlau&quot;);
    system(&quot;PAUSE&quot;);

    return 0;

}
</code></pre>
<p>Ich ich es kompiliere zeigt die console nur irgendwelche buchtaben die ich noch nie gesehen hab. Hat jemand eine lösung ?<br />
SRy wegen der rechtschreibung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499934</guid><dc:creator><![CDATA[hjasjkadj]]></dc:creator><pubDate>Thu, 23 Jun 2016 16:43:51 GMT</pubDate></item><item><title><![CDATA[Reply to c++ std::string zu char[] Problem? on Thu, 23 Jun 2016 17:20:54 GMT]]></title><description><![CDATA[<p>Welchen Sinn hat text? Du kannst gleich message nehmen.<br />
sizeof(message) ergibt nicht die Länge des String.<br />
Die Schleife läuft immer über das komplette Array, auch wenn nur ein Zeichen enthalten ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499936</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 23 Jun 2016 17:20:54 GMT</pubDate></item><item><title><![CDATA[Reply to c++ std::string zu char[] Problem? on Thu, 23 Jun 2016 17:32:21 GMT]]></title><description><![CDATA[<p>strncpy wird nicht sicher verwendet (und ist prinzipiell überflüssig, wie bereits erwähnt), da im Fall zu langer Eingaben keine Nullterminierung erfolgt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499938</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 23 Jun 2016 17:32:21 GMT</pubDate></item><item><title><![CDATA[Reply to c++ std::string zu char[] Problem? on Thu, 23 Jun 2016 18:02:51 GMT]]></title><description><![CDATA[<p>wie wäre es mit einer Klasse ColoredString, die einfach von String erbt und zusätzlich ein farbatrribut enthält und den &lt;&lt;-operator überlädt?</p>
<p>ansonsten gibt es noch die String-methode c_str().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499940</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Thu, 23 Jun 2016 18:02:51 GMT</pubDate></item><item><title><![CDATA[Reply to c++ std::string zu char[] Problem? on Thu, 23 Jun 2016 19:32:18 GMT]]></title><description><![CDATA[<p>HansKlaus schrieb:</p>
<blockquote>
<p>wie wäre es mit einer Klasse ColoredString, die einfach von String erbt und zusätzlich ein farbatrribut enthält und den &lt;&lt;-operator überlädt?</p>
<p>ansonsten gibt es noch die String-methode c_str().</p>
</blockquote>
<p>Von std::string erben ist sehr böse, die Klasse ist darauf nicht ausgelegt. Alle Methoden und vor allem der Destruktor sind nicht virtual.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499949</guid><dc:creator><![CDATA[John Rot]]></dc:creator><pubDate>Thu, 23 Jun 2016 19:32:18 GMT</pubDate></item><item><title><![CDATA[Reply to c++ std::string zu char[] Problem? on Thu, 23 Jun 2016 23:37:20 GMT]]></title><description><![CDATA[<p>hmmm und wie wäre es damit, den String in die Klasse ColoredString einzukapseln und über entsprechende Methoden die Methoden von String aufzurufen? das müsste doch gehen, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499967</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Thu, 23 Jun 2016 23:37:20 GMT</pubDate></item></channel></rss>