<?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[cast von std::string::c_str() in LPCWSTR]]></title><description><![CDATA[<p>Hi zusammen</p>
<p>ich habe folgenden code in meinem Programm:</p>
<pre><code class="language-cpp">std::string text = &quot;Hello, world!&quot;;

//dann im message-switch in der WndProc:

DrawText(hdc, (LPCWSTR)text.c_str(), -1, &amp;rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
</code></pre>
<p>das Resultat sind chinesische Schriftzeichen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Also es ist klar dass das was damit zu tun hat,<br />
dass der ASCII-C-String in einen Unicode-String umgewandelt wird. (bzw. von char* nach wchar_t*)<br />
Aber ich dachte dass die lateinischen Buchstaben in Unicode dieselben<br />
Codes hätten wie in ASCII...</p>
<p>gibts da einen workaround, also gibt es bspw. eine funktion die einen std::string in einen wchar_t* umwandelt statt in einen char*?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/210526/cast-von-std-string-c_str-in-lpcwstr</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Apr 2026 23:32:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/210526.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Apr 2008 22:36:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to cast von std::string::c_str() in LPCWSTR on Fri, 11 Apr 2008 22:36:08 GMT]]></title><description><![CDATA[<p>Hi zusammen</p>
<p>ich habe folgenden code in meinem Programm:</p>
<pre><code class="language-cpp">std::string text = &quot;Hello, world!&quot;;

//dann im message-switch in der WndProc:

DrawText(hdc, (LPCWSTR)text.c_str(), -1, &amp;rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
</code></pre>
<p>das Resultat sind chinesische Schriftzeichen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Also es ist klar dass das was damit zu tun hat,<br />
dass der ASCII-C-String in einen Unicode-String umgewandelt wird. (bzw. von char* nach wchar_t*)<br />
Aber ich dachte dass die lateinischen Buchstaben in Unicode dieselben<br />
Codes hätten wie in ASCII...</p>
<p>gibts da einen workaround, also gibt es bspw. eine funktion die einen std::string in einen wchar_t* umwandelt statt in einen char*?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1490634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1490634</guid><dc:creator><![CDATA[Dave__R]]></dc:creator><pubDate>Fri, 11 Apr 2008 22:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to cast von std::string::c_str() in LPCWSTR on Fri, 11 Apr 2008 22:53:51 GMT]]></title><description><![CDATA[<p>so hab ich es mal gemacht (wahrscheinlich nicht ansatzweise sicher/richtig):</p>
<pre><code class="language-cpp">string str = &quot;Hello, world!&quot;;
wstring wstr( str.begin(), str.end() );
LPCWSTR lpcwStr( wstr.c_str() );
</code></pre>
<p>google sagt btw:<br />
<a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=366966&amp;SiteID=1" rel="nofollow">http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=366966&amp;SiteID=1</a><br />
<a href="http://www.vbforums.com/showthread.php?t=387858" rel="nofollow">http://www.vbforums.com/showthread.php?t=387858</a></p>
<p>mfg,<br />
julian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1490637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1490637</guid><dc:creator><![CDATA[Julian__]]></dc:creator><pubDate>Fri, 11 Apr 2008 22:53:51 GMT</pubDate></item><item><title><![CDATA[Reply to cast von std::string::c_str() in LPCWSTR on Sat, 12 Apr 2008 09:37:56 GMT]]></title><description><![CDATA[<p>Oder einfach:</p>
<pre><code>USES_CONVERSION;

DrawText(hdc, A2T(text.c_str()), -1, &amp;rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1490703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1490703</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Sat, 12 Apr 2008 09:37:56 GMT</pubDate></item><item><title><![CDATA[Reply to cast von std::string::c_str() in LPCWSTR on Sat, 12 Apr 2008 10:10:42 GMT]]></title><description><![CDATA[<p>XMaster schrieb:</p>
<blockquote>
<p>Oder einfach:</p>
<pre><code>USES_CONVERSION;

DrawText(hdc, A2T(text.c_str()), -1, &amp;rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
</code></pre>
</blockquote>
<p>Geht nur wenn die ATL vorhanden ist. Ansonsten geht dann auch CA2T ab VS-2003</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1490724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1490724</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sat, 12 Apr 2008 10:10:42 GMT</pubDate></item></channel></rss>